Pythonの条件分岐文(if文)について、演習用プログラムのソースコードを使い、それを実行しながら解説します。
1.演習用プログラムのダウンロード
演習用プログラム( practice03.py )をダウンロードします。
ダウンロードファイルは テキストファイルになっているので、エクスプローラーを使って拡張子を .txt から .py に変更します。
practice03.py を Python をインストールしたフォルダ(今回は C:\Python)に置きます。
2.ソースコードの表示
メモ帳を使って、演習用プログラム( practice03.py )を開きます。

practice03.py
3.Python の条件分岐文(if文)について
① if文の基本1(if, else)
Pythonの if文 の構文です。
インデント 条件式が成立した(True)場合に実行する処理
else:
インデント 条件式が成立しなかった(False)場合に実行する処理
他のプログラミング言語の if文 も見てみます。
If 条件式 Then
条件式が成立した(True)場合に実行する処理
Else
条件式が成立しなかった(False)場合に実行する処理
End If
if (条件式){
条件式が成立した(True)場合に実行する処理
}
else{
条件式が成立しなかった(False)場合に実行する処理
}
どれも構文はよく似ています。
条件式の一覧
全て記憶する必要はありません。必要に応じて当ページを参照してください。
x < y x が y より小さければ True
x <= y x が y より小さいか等しければ True
x > y x が y より大きければ True
x >= y x が y より大きいか等しければ True
x == y x と y の値が等しければ True
x != y x と y の値が等しくなければ True
x is y x と y が同じオブジェクトであれば True
x is not y x と y が同じオブジェクトでなければ True
x in y x が y に含まれていれば True
x not in y x が y に含まれていなければ True
x and y x も y も True であれば True
x or y x と y いずれかが True であれば True
not x x が True であれば False、x が False であれば True
それでは、コマンドプロンプト で practice03.py を実行します。
プログラムを実行する方法は、こちらの記事『ファイルに保存されたプログラムの実行』を参照します。
以下のように表示されます。
C:\Users\kotablog>python "C:\Python\practice03.py" 試験結果の点数を入力してください>>>
キーボードから 80 を入力して、 Enter キーを押下します。
C:\Users\kotablog>python "C:\Python\practice03.py" 試験結果の点数を入力してください>>>80 合格です
プログラムソースを確認します。
01 # -*- coding: utf-8 -*-
02 """
03 演習プログラム3
04
05 条件分岐文の基礎
06
07 """
08 import sys # モジュールのインポート
09
10 # 値を入力
11 str_score = input('試験結果の点数を入力してください>>>')
12 score = int(str_score)
13
14 # 入力した値により処理を振り分ける1
15 if score >= 60:
16 print("合格です")
17 else:
18 print("不合格です")
19
20 #終了1
21 sys.exit()
11行目で 関数 input() を使って入力された点数は 変数str_score に代入されます。このときデータ型は「 str型 」になります。
12行目で、関数 int() を使って変数str_scoreの値を「 int型 」に変換した結果を 変数 score に代入しています。
15行目の if文 の条件式が、「 変数score が 60以上 であるか 」 です。
80 を入力したので、16行目の print("合格です") が実行されて、コマンドプロンプトに 合格です と表示されました。
60未満 を入力して、不合格です が表示されるかを確認してください。
② if文の基本2(if, elif, else)
Pythonには switch文 がありませんので、if, elif, else で対応します。
構文を見ていきます。
インデント 条件式1 が True の場合に実行する処理
elif 条件式2:
インデント 条件式1が False で、条件式2が True の場合に実行する処理
elif 条件式3:
インデント 条件式1と2が False で、条件式3が True の場合に実行する処理
...
else:
インデント すべての条件式が False の場合に実行する処理
switch(式) {
case 値1:
式の結果と値1が一致したときに実行する処理
break;
case 値2:
式の結果と値2が一致したときに実行する処理
break;
default:
式の結果がどの値とも一致しなかったときに実行する処理
}
それでは、プログラムを実行して確認します。
ソースコード #終了1 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
Ctrl キーを押しながら、 S キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3 キーを押して、 Enter キーを押下します。
以下のように表示されます。
C:\Users\kotablog>python "C:\Python\practice03.py" 試験結果の点数を入力してください>>>
キーボードから 80 を入力して Enter キーを押下します。
C:\Users\kotablog>python "C:\Python\practice03.py" 試験結果の点数を入力してください>>>80 合格です 80点は良です
プログラムソースを確認します。
23 # 入力した値により処理を振り分ける1
24 if score >= 85:
25 print(str(score) + "点は優です")
26 elif score >= 75:
27 print(str(score) + "点は良です")
28 elif score >= 60:
29 print(str(score) + "点は可です")
30 else:
31 print("再試験を行います")
24行目の if文 の 条件式は 85以上 です。入力した点数は 80 なので、25行目の print(str(score) + "点は優です") は実行されません。
次は、26行目の elif文 の 条件式は 75以上 なので、27行目の print(str(score) + "点は良です") が実行されました。
色々な点数を入力して、動作を確認してください。
<Pythonの変数の基礎 | Pythonの条件分岐文の基礎 | Pythonの繰り返し文の基礎> |