01 / 06
2つでは足りないとき
成績を「A・B・C」の3段階に分けたい。if と else だけでは2つにしか分けられないね。
そこで使うのが elif(エルイフ)。else if を縮めた言葉で、「そうでなくて、もし〜なら」という意味だよ。
文法のきほん
INPUT · スライド
01 / 06
成績を「A・B・C」の3段階に分けたい。if と else だけでは2つにしか分けられないね。
そこで使うのが elif(エルイフ)。else if を縮めた言葉で、「そうでなくて、もし〜なら」という意味だよ。
02 / 06
if と else の間に、elif 条件: を書く。いくつ並べてもいいよ。
elif は条件を書く点が else とちがう。else は最後に1つだけ、条件なしで置くよ。
ten = 75if ten >= 90: print("A")elif ten >= 70: print("B")else: print("C")実行結果
B
03 / 06
ここがいちばん大事なところ。Pythonは上から順に条件を見ていって、最初に成り立ったものだけを実行する。
残りは条件が成り立つかどうかにかかわらず、まるごと飛ばされる。だから必ずどれか1つだけが動くんだ。
ten = 95if ten >= 90: print("A")elif ten >= 70: print("B")else: print("C")実行結果
A
04 / 06
では条件の順番を逆にするとどうなるか。95 でも B になってしまうよ。
最初に >= 70 を見てしまうので、90点以上の人もそこで捕まってしまうんだ。A は永遠に出てこない。
きびしい条件から先に書く。これが elif を使うときの鉄則だよ。
ten = 95if ten >= 70: print("B")elif ten >= 90: print("A")else: print("C")実行結果
B
05 / 06
elif だけ並べて else を書かないこともできる。その場合、どれにも当てはまらなければ何も起きないよ。
ただし「取りこぼしがあってもいいのか」は必ず考えよう。else を置いておくと、想定外の値に気づけるという利点があるんだ。
ten = 30if ten >= 90: print("A")elif ten >= 70: print("B")06 / 06
elif のかわりに if を並べると、条件が成り立つぶんだけ全部動いてしまう。
下の例では A と B の両方が出てしまうね。「どれか1つ」にしたいなら elif でつなぐ必要があるよ。
ten = 95if ten >= 90: print("A")if ten >= 70: print("B")実行結果
A B