Pythonの条件分岐文の基礎 – 【Pythonではじめるプログラミング】

Pythonの条件分岐の基礎 Python

Pythonの条件分岐文(if文)について、演習用プログラムのソースコードを使い、それを実行しながら解説します。

1.演習用プログラムのダウンロード

演習用プログラム( practice03.py )をダウンロードします。
ダウンロードファイルは テキストファイルになっているので、エクスプローラーを使って拡張子を .txt から .py に変更します。
practice03.py を Python をインストールしたフォルダ(今回は C:\Python)に置きます。


2.ソースコードの表示

メモ帳を使って、演習用プログラム( practice03.py )を開きます。

practice03.py

practice03.py


3.Python の条件分岐文(if文)について

① if文の基本1(if, else)

Pythonの if文 の構文です。

if 条件式:
インデント 条件式が成立した(True)場合に実行する処理
else:
インデント 条件式が成立しなかった(False)場合に実行する処理

 
他のプログラミング言語の if文 も見てみます。

【Excelマクロ (VBA)】
If 条件式 Then
条件式が成立した(True)場合に実行する処理
Else
条件式が成立しなかった(False)場合に実行する処理
End If
【Java】
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 で対応します。
構文を見ていきます。

if 条件式1:
インデント 条件式1 が True の場合に実行する処理
elif 条件式2:
インデント 条件式1が False で、条件式2が True の場合に実行する処理
elif 条件式3:
インデント 条件式1と2が False で、条件式3が True の場合に実行する処理
...
else:
インデント すべての条件式が False の場合に実行する処理
switch文の紹介
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の繰り返し文の基礎>
タイトルとURLをコピーしました