Pythonでプログラムを書くとき、条件によって処理を分けたい場面はよくあります。
そのときに使うのが、if
、else
、elif
構文です。
この記事では、初心者の方向けに、if~else
の使い方からelif
の応用まで丁寧に解説します。
この記事の対象
基本構文:if ~ else
if 条件式:
条件がTrueのときの処理
else:
条件がFalseのときの処理
if
は 条件をチェックします。
else
は それ以外すべてを処理します。
else
には条件式が 不要です。
if ~ else の基本例
a = int(input("2を入力してください: "))
if a == 2:
print("2です。")
else:
print("違います。")
出力結果
2を入力してください: 2
2です。
偶数・奇数の判定
a = int(input("数値を入力してください: "))
if a % 2 == 0:
print("偶数です")
else:
print("奇数です")
解説
a % 2
は「aを2で割った余り」- 余りが0なら偶数、1なら奇数です
フラグ(ON/OFF)の判定
flag = True
if flag:
print("ON")
else:
print("OFF")
Pythonでは、True
または False
を**フラグ(スイッチのようなもの)**としてよく使います。
また、if flag:
のように書けば、flag == True
と同じ意味になります。
elif を使って分岐を増やす
elif
(=else if)は、条件を複数に分けたいときに使います。
a = int(input("点数を入力してください: "))
if a >= 90:
print("評価: A")
elif a >= 70:
print("評価: B")
elif a >= 50:
print("評価: C")
else:
print("評価: D")
出力例
点数を入力してください: 85
評価: B
if ~ elif ~ else の流れ
if 条件1:
処理1
elif 条件2:
処理2
elif 条件3:
処理3
else:
すべての条件がFalseのときの処理
条件に 当てはまる最初の1つだけ が実行されます
順番に評価され、最初にTrueになったものだけ処理されることに注意
条件式の書き方のコツ
演算子 | 内容 |
x == y | xとyが等しい |
x != y | xとyが等しくない |
x > y | xがyより大きい |
x >= y | xがyと等しいかそれ以上 |
x < y | xがyより小さい |
x <= y | xがyと等しいかそれ以下 |
if age >= 18 and age <= 65:
print("働き盛り")
まとめ
if
は条件に応じた処理を実行したいときに使うelse
は「それ以外すべて」に対応elif
で条件をさらに追加できるTrue
/False
でON/OFFなどのフラグ管理もできる