🦒

Python -ifについて-

2022/05/04に公開
4

条件が一致した時の処理

ifを使うと、条件が成立した時に特定の処理を実行することができる。

つまり、特定のデータを受け取ったときに、特定のメッセージを表示できるということですね。

今回は、標準入力から受け取ったデータが、Reyowと一致したら、Welcomeと表示するプログラムを書いてみます。

name = input()
if name == "Reyow":
    print("Welcome")

ここで注意すべき点は、if nameと特定の受け取るデータを、イコール2つで繋げるということ。
もう一点は、特定の受け取るデータの後に、コロンをつけるということですね!

忘れないようにしましょう。

比較演算子

==  等しい。代入と区別する (a == b)
!=   等しくない (a != b)

文字や数値が一致しているかを判定するものです。
等しいと表すために、イコール2つを使う意識が大切ですね。

数値の大小を比較

大なり a > b aはbより大きい。範囲にbを含まない
小なり a < b aはbより小さい。範囲にbを含まない
以上 a >= b aはb以上。範囲にbを含める
以下 a <= b aはb以下。範囲にbを含める

小学生の時に習った不等号と同じようなイメージなので、問題ないですね!

実際に、「標準入力から整数を1個受け取り、その整数が100以下の場合、その数値を表示する(受け取る数値は10とする)」場合のプログラムを書いてみます。

number = int(input())

if number <= 100:
  print(number)  # 10

条件に合わせて処理を変える

ifを使うと、さらに複雑な処理を行うことができます。

その場合に使うのがelseelifです。

elseを使う場合

elseは「他の」のという意味です。
つまり、if条件付けたパターン以外の処理を命令することができます。

実際に、「変数nameがReyowの場合はWelocome、それ以外の場合にGoodbyeを表示する」プログラムを書いてみます。

name = input()
print("Hello " + name)

if name == "Reyow":
 print("Welcome")
else:
 print("Goodbye")

elseの後のコロンは忘れないように注意です!

elif

elifを使うと、さらに追加で別のメッセージを表示することができます。

実際に上のプログラムに「変数nameがZennの場合、Good morningと表示する」ように追加で書いてみます。

name = input()
print("Hello " + name)

if name == "Reyow":
 print("Welocome")
elif name == "Zenn":
 print("Good morning")
else:
 print("Goodbye")

elififと同じような使い方をします。
3種類以上メッセージのパターンを用意する場合elifを使うイメージを持つと忘れづらいと思います!

数値を分類する

ifを使って、受け取った数値によってメッセージを切り替えることができます。
「入力」タブから数値を受け取って、それが基準値と等しいか、大きいか、それ以外かで、表示するメッセージを切り替えます。

先述した項の、名前が数値になったバージョンですね!

実際に、「受け取った数値が、10と等しいか、10より大きいか、それ以外かでメッセージを切り替える」プログラムは以下のようになります。

number = int(input())
print(number)

if number == 10:
 print(str(number) + "は10と等しいです")
elif number > 10:
 print(str(number) + "は10より大きいです")
else:
 print(str(number) + "は10より小さいです")

str関数は、数値・数式を文字列に変換して返す関数です。

Discussion

ぱやぱやぱやぱや

elifを複数使って、4種類以上の条件分岐ができるのでしょうか? 例えば以下のように;

name = input()
print("Hello " + name)

if name == "Reyow":
 print("Welocome")
elif name == "Zenn":
 print("Good morning")
elif name == "Taro":
 print("Hello")
elif name == "Hanako":
 print("Good evening")
else:
 print("Goodbye")
ReyowReyow

本文で3つのメッセージを表示する際と書いていたので、3種類以上にしておきました!

ReyowReyow

コメントありがとうございます!
できます!3種類以上のメッセージを表示する際にelifを使います!