Pythonプログラムで条件分岐を行う際、if文だけでなく、elif構文も非常に便利です。
ここではPythonにおける制御構文、「elif構文」について解説しています。
elif構文の型
#elif構文の型
if 条件式: #条件1
#真(True)の場合の処理
elif 条件式: #条件2
#真(True)の場合の処理
elif 条件式: #条件3
︙
else: #その他条件
#偽(False)の場合の処理
真の条件が複数の場合に「elif」を用います。「elif」は何度も使用できます。
elif構文の使用例
任意の数値判定
a = int(input("数値を入力して下さい。"))
if a == 2:
print("2です。")
elif a == 3:
print("3です。")
else:
print("違います。")
上記で数値の2か3を入力するとそれぞれ「2(3)です。」と出力されます。それ以外の数値を入力すると「違います。」と出力されます。
成績評価
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print("成績は", grade, "です。")
上記では、成績に基づいて評価を行うプログラムになります。elifを使用して、複数の成績範囲をチェックし、適切な評価を付けています。
elifに関連するエラーと回避方法
不適切な順序
if x > 5:
# 処理
elif x > 2:
# 処理
上記では、条件1(x > 5)がTrueの場合、条件2(x > 2)は評価されません。したがって、条件2が意図通りに動作しない可能性が出てきます。条件の順序を注意深く検討し、最も制約の厳しい条件から始めることが重要です。
冗長な条件
if x > 5:
# 処理1
elif x > 5:
# 処理2
条件が冗長である場合、正確な結果が得られない可能性があります。条件を簡潔かつ一意に保つことが必要です。
この場合、条件1と条件2は同じ条件であるため、どちらかを削除する必要があります。
まとめ
elif構文は条件が複数ある場合に頻繁に出てくる構文になります。「elifに関連するエラーと回避方法」で挙げたように、条件の書き方を間違えると、上手く動作しない場合があります。使用する際は、十分に確認して下さい。