現在の見出し:3.2節:条件分岐(if文)
見出し一覧
- 3.2節:条件分岐(if文)
- - Pythonの条件分岐とは
- - 条件分岐の中に条件分岐を入れる(ネスト)
- - 三項演算子
- - 3.2節の演習問題
【PR】『Python』を学べる企業・個人向けのプログラミングコース
Pythonマスター講座第3章 3.2節で学べること
- 条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。を実装するifif文はプログラムで条件分岐を行うための命令文です。文
- 複数条件を処理するelif文、else文
- 条件分岐のネスト構造
- 一行で記述できる三項演算子三項演算子は条件分岐を簡潔に記述するための構文で、1つの式で条件式と2つの結果を表現し、if-else文の省略形として機能します。
Pythonの条件分岐とは
条件分岐とは、ある条件に応じて実行する処理を変える仕組みのことです。日常生活で例を挙げると、「雨が降っていたら傘をさす」という風に条件に応じて行動を変えるようなもので、プログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。も状況に応じて動作を変えることができます。
Pythonの条件分岐は、以下のように記述します。
if 条件式:
実行する処理
elif 別の条件式:
別の処理
else:
どの条件にも当てはまらない場合の処理
条件式の後にコロン(:)を付け、その下の行に実行したい処理をインデントインデントはコード内の行頭をスペースやタブでずらすことです。(字下げ)して書きます。このインデントによって「どの処理が条件に紐づいているか」を明確にします。
条件式で使用できる比較演算子比較演算子は二つの値を比較する際に使用する記号です。は、以下の通りです。
演算子 | 意味 | 例 |
---|---|---|
== |
等しい | age == 20 |
!= |
等しくない | name != "太郎" |
> |
より大きい | score > 80 |
< |
より小さい | price < 1000 |
>= |
以上 | height >= 170 |
<= |
以下 | temperature <= 25 |
if文
if
文は最も基本的な条件分岐で、指定した条件が真(True)の場合にのみ処理を実行します。条件が偽(False)の場合、if文の処理ブロックはスキップされてプログラムは次に進みます。
age = 18
if age >= 18:
print("成人です")
成人です
行数 | コード | 解説 |
---|---|---|
1行目 | age = 18 | 変数変数はデータを一時的に記憶しておく場所です。ageに数値18を代入代入は変数に値を割り当てる操作です。しています |
2行目 | if age >= 18: | ageが18以上かどうかを判定する条件式です |
3行目 | print("成人です") | 条件が真の場合に実行される処理で、"成人です"と出力します |
elif(else if)文
elif
文は最初のif
条件が偽の場合、別の条件を評価するために使用します。複数のelif
を連続して使用でき、条件は上から順番に評価されます。最初に真となる条件のブロックが実行され、残りの条件は評価されません。
score = 75
if score >= 90:
print("優")
elif score >= 70:
print("良")
elif score >= 60:
print("可")
良
行数 | コード | 解説 |
---|---|---|
1行目 | score = 75 | 変数scoreに数値75を代入しています |
2行目 | if score >= 90: | scoreが90以上かどうかを判定する最初の条件式です |
3行目 | print("優") | 最初の条件が真の場合に実行される処理ですが、条件が偽のため実行されません |
4行目 | elif score >= 70: | scoreが70以上かどうかを判定する2番目の条件式です |
5行目 | print("良") | 2番目の条件が真の場合に実行される処理で、"良"と出力します |
6行目 | elif score >= 60: | scoreが60以上かどうかを判定する3番目の条件式です |
7行目 | print("可") | 3番目の条件が真の場合に実行される処理ですが、上の条件が真のため実行されません |
else文
else
文は全てのif
とelif
の条件が偽の場合、実行されるデフォルトの処理を定義します。else
には条件式は不要で、「それ以外の場合」という意味になります。必ずif文またはelif文の後に記述し、条件分岐の最後に配置します。
score = 45
if score >= 90:
print("優")
elif score >= 70:
print("良")
elif score >= 60:
print("可")
else:
print("再試験")
再試験
行数 | コード | 解説 |
---|---|---|
1行目 | score = 45 | 変数scoreに数値45を代入しています |
2行目 | if score >= 90: | scoreが90以上かどうかを判定する最初の条件式です |
3行目 | print("優") | 最初の条件が真の場合に実行される処理ですが、条件が偽のため実行されません |
4行目 | elif score >= 70: | scoreが70以上かどうかを判定する2番目の条件式です |
5行目 | print("良") | 2番目の条件が真の場合に実行される処理ですが、条件が偽のため実行されません |
6行目 | elif score >= 60: | scoreが60以上かどうかを判定する3番目の条件式です |
7行目 | print("可") | 3番目の条件が真の場合に実行される処理ですが、条件が偽のため実行されません |
8行目 | else: | すべての条件が偽の場合に実行されるデフォルトブロックを定義します |
9行目 | print("再試験") | すべての条件が偽の場合に実行される処理で、"再試験"と出力します |