【独学Python入門⑬】elif文

elif文は前回ご紹介したif文の分岐を増やすために使われます。elifの読み方は「エルイフ」です。使用するためのルールは以下の通りです。

if 条件A:
  処理A
elif 条件B:
  処理B
else:
  処理C

※条件Aを満たすときには処理A、条件Bを満たすときは処理B、条件Aと条件Bのどちらにも当てはまらない時には処理Cを実行します。

※処理A、処理B、処理Cはいずれか1つを実行します。例えば条件Aを満たしていたので処理Aを実行する場合は以降の処理Bや処理Cは実行されません。もしも、条件Aと条件Bの両方を満たす場合は前に置かれている条件Aが優先されます。

※elif文による条件は以下のようにいくつでも用意できます。

if 条件A:
  処理A
elif 条件B:
  処理B
elif 条件c:
  処理c
  ・
  ・
  ・
else:
  処理D


elif文を使用してテストをしてみましょう。

taro_height = 170
if taro_height >= 180:
  print("LL")
elif taro_height >= 170:
  print("L")
else:
  print("M")

※インタラクティブシェルの結果

taro_heightの数値を判定して適切な処理を行うことができました。次は処理ブロックのインデントの重要性を体験してもらうために処理を1行ずつ追加します。



taro_height = 170
if taro_height >= 180:
  print("LL")
  print("over 180")
elif taro_height >= 170:
  print("L")
  print("over 170")
else:
  print("M")
  print("under 170")

※インタラクティブシェルの結果

ちなみにif文の中にもif文を書くことができます。

height = 170
weight = 60
if height >= 180:
  if taro_weight >= 90:
    print("over weight")
  else:
    print("good")    
elif height >= 170:
  if weight >= 80:
    print("over weight")
  else:
    print("good") 
else:
  if weight >= 72:
    print("over weight")
  else:
    print("good") 

#右が切れたら左にスワイプしてください

とても読みづらくなってしまいました。このようにif文の中にif文が入っていることをネストと呼びます。if文の中にif文があり、さらにif文があってという状態をネストが深いという言い方をします。深くなるほど理解しづらいプログラムになりますので注意してください。次回、見やすくするための方法をご紹介します。

ちなみにネストとは入れ子、ロシアのマトリョーシカのような構造の意味になります。

独学Python入門一覧に戻る