if文の使い方
Pythonプログラミングで「条件分岐」に使う「if」の構文について、例文を用いてまとめた記事になります。
目次
- よく使われる3つの構文
- 3つの構文の使用例
- 条件の作り方 (演算子のまとめ)
よく使われる3つの構文
- if文
条件によって処理を変えたいときに使用。条件を満たさないときは何も処理されず、プログラムが終了する - elif文
if文とは別に条件を追加したいときに使う - else文
if文で条件を満たさなかった時の処理を指定
3つの構文の使用例
焼肉食べ放題を想像してみてください。料金の条件を
- 18歳以上 : 大人料金
- 12歳以上18歳未満 : 学生料金
- 12歳未満 : 子供料金
- 0歳 : 無料
とします。変数「age」に数字を入れて、どの料金に当てはまるか出力するプログラムを作ります。
if文のみ使用
if文のみでは2通りの出力しか望めません。YES or NOで解決する場合に使用します。
1 2 3 4 5 6 7 8 9 |
age = 18 if age >= 18: print("大人料金") ###出力内容##################### age = 18以上なら「大人料金」を出力 age = 上記以外なら 何も出力されない ############################### |
elif文を追加
elif文と組み合わせるとif文とは別に条件を追加することができます。この時、追加条件を付けられるのはif文でNOだった場合になります。
1 2 3 4 5 6 7 8 9 10 11 12 |
age=0 if age>=18: print("大人料金") elif age==0: print("無料") ###出力内容##################### age = 18以上なら「大人料金」を出力 age = 0なら「無料」を出力 age = 上記以外なら 何も出力されない ############################### |
また、elif文はいくつでも追加可能です。12歳以上18歳未満の学生料金を追加してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
age=16 if age>=18: print("大人料金") elif 12<=age<18: print("学生料金") elif age==0: print("無料") ###出力内容##################### age = 18以上なら「大人料金」を出力 age = 12以上18未満なら「学生料金」を出力 age = 0なら「無料」を出力 age = 上記以外なら 何も出力されない ############################### |
else文を追加
else文を追加すると最終的に条件を満たさなかった「最後までNO」場合の処理を指定することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
age=11 if age>=18: print("大人料金") elif 12<=age<18: print("学生料金") elif age==0: print("無料") else: print("子供料金") ###出力内容##################### age = 18以上なら「大人料金」を出力 age = 12以上18未満なら「学生料金」を出力 age = 0なら「無料」を出力 age = 上記以外なら「子供料金」を出力 ############################### |
条件の作り方 (演算子のまとめ)
「条件分岐」の構文の条件を指示するのに演算子を用います。演算子には比較演算子と論理演算子があります。
比較演算子
2つの要素 AとBを比較して YES or NO (True or False)を出力する。
演算子 | 内容 |
a == b | a が b と等しい |
a != b | a が b と異なる |
a < b | a が b よりも小さい |
a > b | a が b よりも大きい |
a <= b | a が b 以下である |
a >= b | a が b 以上である |
a is b | a が b と等しい |
a is not b | a が b と異なる |
a in b | a が b に含まれる (a, b は共に文字列、または、b はリストやタプル) |
a not in b | a が b に含まれない (a, b は共に文字列、または、b はリストやタプル) |
論理演算子
複数の条件の論理積(かつ)、論理和(または)、否定(でない)を扱うことができる。
演算子 | 内容 |
a and b | a も b も真であれば真 |
a or b | a または b が真であれば真 |
not a | a が偽であれば真 |