条件付きロジックを使用してコード フローを制御する (if、elif、else)
Tip
詳細については、「 テキストと画像 」タブを参照してください。
プログラムで条件を評価できるようになったので、それらを使用してコードが実行できるパスをガイドできます。 Pythonでは、if、elif、およびelseステートメントを使用して、True または False の結果に基づいてプログラムのフローをガイドします。 このアプローチは条件付 きロジックと呼ばれます。
if ステートメント
if ステートメントは、条件がTrueされた場合にのみコード ブロックを実行します。 内部のコードはインデントする必要があります。Pythonはインデントを使用して、ブロックに属する行を認識します。
score = 85
if score >= 90:
print("Congratulations!")
print("Grade: A")
print("Program complete.")
scoreが 90 未満の場合、if ブロック内のインデントされたコードはスキップされ、プログラムはブロックの後の次の行に進みます。
インデントとコロンの規則
Pythonでは、厳密な規則を使用してコード ブロックをグループ化します。
コロン (
:): 条件付きステートメントの末尾にコロンを配置する必要があります。 これは、次のインデントされた行がその条件ブロックに属していることをPython示します。インデント: 同じブロック内のすべての行で同じインデントを使用する必要があります。 4 つのスペース (またはタブ) を一貫して使用します。
コード ブロックを完了するには、ブロックの後の次の行を 取り外 す必要があります。 この接続されていないラインは、ブロックが終了したことをPythonに通知します。 上の例では、 print("Program complete.") 行は未入力であるため、 if 条件に関係なく実行されます。
else を使用した代替パスの追加
条件がFalse場合は、elseを使用して別のコード ブロックを実行します。
score = 75
if score >= 90:
print("Grade: A")
else:
print("Grade: B or lower")
elif を使用したチェーン条件
可能なパスが 2 つ以上ある場合は、 elif ("else if" の略) を使用して、追加の条件を確認できます。
最初の試合が勝つ
Pythonは、各条件を順番にチェックします。 最初の True 条件が見つかると、そのブロックが実行され、残りはスキップされます。 どの条件も Trueされていない場合は、 else ブロックが実行されます (存在する場合)。
score = 85
if score >= 90:
print("Grade: A")
elif score >= 80: # Python stops here! 85 >= 80 is True.
print("Grade: B")
elif score >= 70: # Skipped entirely, even though 85 >= 70 is also true.
print("Grade: C")
else: # Skipped entirely.
print("Grade: D or lower")
Output:
Grade: B
Pythonは最初のTrue条件の後にチェーンを終了するため、条件を最も具体的なものから最も具体的なものまで順序付けしてください。 そうしないと、予期した条件に達しない可能性があります。