【Python】if、elif、else文(複数条件分岐)

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の使い方について、基礎文法から応用例まで入門者向けに解説します。
この記事を書いた人
西住技研

プログラミング言語「Python」を研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
筆者の詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
Python基礎

コメント