Python -ifについて-
条件が一致した時の処理
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を使うと、さらに複雑な処理を行うことができます。
その場合に使うのがelseとelifです。
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")
elifはifと同じような使い方をします。
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種類以上の条件分岐ができるのでしょうか? 例えば以下のように;
本文で3つのメッセージを表示する際と書いていたので、3種類以上にしておきました!
コメントありがとうございます!
できます!3種類以上のメッセージを表示する際にelifを使います!
シンプルな構文でも便利なことができますね!