第8章 条件処理
8.4 if – else if – else文
前項では「もし○○○ならば、×××する。そうでなければ△△△する」という条件分岐を解説しましたが、「そうでなければ△△△する」の部分にさらに条件が追加され、「もし○○○ならば×××する。そうでなくもし□□□ならば◇◇◇する。どちらでもなければ△△△する」というような、さらに複数の条件がある場合は、if – elif – else文を使います。
8.4.1 if elif -else文の基本構文
if-elif(エルスイフ)-else文の基本構文は下記のようになります。
書式:if-elif-else基本構文
if – elif – else文の処理の流れは以下のようになります。
|
図 8.4.1.1は、if-elif-else文をフローチャートにしたものです。
図 8.4.1.1 : if-elif-else基本構文の処理フロー
ポイント・3つ以上の条件に応じた処理を行う場合はif-elif-else文を使う。
8.4.2 複数条件式で数値の大小を比較するプログラム
キーボードからの入力値に応じて、if-elif-else文の各ブロック内の処理を確認します。
ソース・フォルダ:/Desktop/Python入門テキスト
ファイル名 :第8章.ipynb
アクセスURL :http://localhost:8888/notebooks/Desktop/Python入門テキスト/第8章.ipynb
➢ 第8章.ipynb/ 8.4.2 複数条件式で数値の大小を比較するプログラム
# 比較用の値を管理する変数の宣言 num1 = 5 num2 = 3 #if文①の開始 if num2 > num1 : print(‘num1よりnum2の方が大きいです。’) elif num2 < num1 : print(‘num1よりnum2の方が小さいです。’) else : print( ‘num1とnum2の数値は同じです。’) #num2の値を更新する num2 = 5 #if文②の開始 if num2 > num1 : print(‘num1よりnum2の方が大きいです。’) elif num2 < num1 : print(‘num1よりnum2の方が小さいです。’) else : print( ‘num1とnum2の数値は同じです。’)
実行結果
解説
2、3行目で変数num1、num2を宣言しています。
6~11行目で、if – elif -else文の範囲になります。6行目のif文で変数num1の値5よりnum2の値3の方が大きいかどうかを判断し、num2の方が大きければ7行目の処理が実行されます。
6行目の条件を満たさない場合次の8行目のelif文の判定を行い、今度は逆にnum1よりもnum2の値が小さいかどうかを判断し、num2の方が小さければ9行目の処理が実行されます。
最後にelseブロックは、6、8行目の条件を両方満たさない場合に実行されます。
6行目の条件式はfalseであり8行目の条件式はtrueであるため、9行目の処理が実行されます。
続いて14行目ではnum2の値を5に更新します。
17~22行目では6~11行目と同じ内容のif – elif -else文をもう一度、実行していますが、num2の値5が、num1の値5と等しくなったため、17、19行目の条件式を両方満たさなず、22行目の処理が実行されます。
図 8.4.2.1 : If-elIf-else構文のフローチャート