まず結論
elif は、if の次に別の条件を調べる書き方です。
else は、どの条件にも当てはまらなかったときに実行されます。
score = 75
if score >= 80:
print("よくできました")
elif score >= 60:
print("合格")
else:
print("もう少し")
この場合、合格 が表示されます。
elif は「else if」のような意味で、追加の条件を表します。
イメージで考える
if、elif、else は、上から順に並んだ分かれ道です。
モコが最初の看板を見て、当てはまらなければ次の看板へ進む。
どの看板にも当てはまらなければ、最後の else の道へ進む。
このように「上から順番に確認する」と見ると、流れが追いやすくなります。
上から順番に見る
Pythonは、上から順番に条件を見ます。
score = 90
if score >= 80:
print("A")
elif score >= 60:
print("B")
else:
print("C")
最初の条件が本当なので、A が表示されます。
その下の elif は実行されません。
一度どこかに当てはまったら、そこで分かれ道は終わります。
elifは複数書ける
条件が多いときは、elif を複数書けます。
level = 2
if level == 1:
print("初級")
elif level == 2:
print("中級")
elif level == 3:
print("上級")
elseは条件を書かない
else には条件を書きません。
else:
print("どれでもない")
「ここまでの条件に当てはまらなければ」という意味だからです。
読み方のコツ
if、elif、else は分かれ道です。
もしAなら
そうでなくBなら
どれでもなければ
この日本語に置き換えると、複数条件のコードが読みやすくなります。
手を動かすミニ練習
score を 95、75、40 に変えて、どの行が実行されるか見てみましょう。
score = 75
if score >= 80:
print("よくできました")
elif score >= 60:
print("合格")
else:
print("もう少し")
上から順番に見て、最初に当てはまった場所だけが実行されます。
3行まとめ
- elifは追加の条件を書くためのもの。
- elseはどの条件にも当てはまらないときに実行される。
- 上から順番に条件を確認する。
ここまでの確認
- 比較の結果がTrue/Falseになると分かる
- if文は条件がTrueのときだけ動くと説明できる
- elifとelseの順番を読める