Pythonのif、elif、else文による複数条件分岐を使う方法をソースコード付きで解説します。
条件分岐(if、elif、else文)
Pythonでは、if、elif、else文により複数の条件分岐を作成できます。
(他言語でよくあるelse ifではなくelifである点に注意)
書式
if 条件式①: 処理① elif 条件式②: 処理② elif 条件式③: 処理③ else: 全ての条件式が偽の場合の処理④
まず、if文の条件式①が真であれば処理①を実行して終了します。
偽であった場合は、次の条件式②が真であれば処理②を実行して終了します。(以降elseまで同じ)
elif文の数だけ条件分岐を増やすことが出来ます。
※①~③のどれかの条件式が真となった場合はそれ以降のelif、else文はスルーされます。
動画解説
本ページの内容は以下動画でも解説しています。
サンプルコード
サンプルプログラムのソースコードです。
i = 3 if i == 1: print("i = 1") elif i == 2: print("i = 2") elif i == 3: print("i = 3") else: print("i = 4") # 実行結果は「i = 3」
条件式(iは3である)が正しいのでif文内部の処理(i=3と表示)が実行されます。
【補足】複数行コメントを記述するときの注意点
クォーテーションを用いて複数行のコメント文を記述するとき、直前の行と同じインデント(空白)で記述する必要があります。
直前の行と同じインデントでない場合はエラーになることがあります。
【正しい例】
a = 0 if a == 0: print("aは0です") else: print("aは0ではないです") ''' 上の行とインデント(空白)が同じなのでエラーになりません ''' print("本当にaは0ではないですよ?")
【エラーになる例】
a = 0 if a == 0: print("aは0です") else: print("aは0ではないです") ''' 上の行とインデント(空白)が合っていないのでエラーになります ''' print("本当にaは0ではないですよ?")
上記のプログラムを実行すると「IndentationError: unexpected indent」というエラーが表示されます。
関連記事

【Python超入門】基礎から応用例まで幅広く解説
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント