pythonの条件文ifについて優しく解説

python

 プログラムに分岐処理を加えて様々な可能性を持たせるのが条件文ifです.本記事では条件文ifて何だろうと言った疑問や,使い方が解らないとい言った方にサンプルプログラムを使って解説をしております.

スポンサーリンク

if条件文

 条件文ifとはプログラムを分岐させるもので,もし….なら〇〇,違うなら××を実行すると言ったものです.道に例えるなら,分かれ道(丁字路)で案内看板によってどちらかに行くようなイメージです.
ある条件を満たしている時(真)のプログラムと,そうでない時(偽)のプログラムで分岐することになります.

条件文if書式

if (条件式):
  条件式を満たす(真)の時実行1
else:
  条件式を満たさない(偽)の時実行2
コロン(:)をif条件文の後とelseの後に付けます.(結構忘れがち)

     図.if条件文書式

インテンドについて

・ifの後の条件式を満たすの時の実行処理について,インテンド(字下げ)がされています.pythonでは同じインテンド幅を持つものを1つのブロックとみなし処理されます.下図参照

真偽型(bool)演算子

 真偽型演算子は比べる物の大小などが条件に合うか真偽を決めるもので,if文の条件式の中で使うことができます.下記に真偽型演算子を紹介します.

・真偽型演算子

演算子判別方法
a == ba と b が等しい
a is ba と b が等しい
a != ba と b が異なる
a < ba が b より小さい
a > ba が b より大きい
a <= ba が b 以下
a >= ba が b 以上

[IN]比較演算について試してみましょう.比較演算をprintの結果の箇所に書いています.

print("演算  ","結果 ")
print("3==3  " , 3== 3)
print("3!=5  " , 3!= 5)
print("3< 3  " , 3<  3)
print("3<=5  " , 3<= 5)

[OUT]

演算   結果 
3==3   True
3!=5   True
3< 3   False
3<=5   True

・比較演算子は文字を比較することもできます.

[IN]

a="python"
print("演算        " ,"結果 ")
print("a==pythn    " , a=="python"     )
print("a==anaconda " , a=="anaconda"   )

[OUT]

演算         結果 
a==pythn     True
a==anaconda  False

if文を使ってプログラムを書く

 テストの点が60点以上で合格と表示,それ以外(35点未満)の時は不合格と表示させるプログラムを作ります.

[IN]

test=65        #テスト結果
if test >= 60: #条件式
    print("合格")  #真のとき実行
else:
   print("不合格") #偽のとき実行

[OUT]

合格

 色々な条件を考えたり,テストの点や表示させる文字を変えて試してください.

ifが真のとき何もしない処理pass

 if文の条件式で真の時に何も処理をしない場合に,空白にしておくとエラーになります.処理部分にpassを記載することで真の時に何も処理をせずにループを抜けることができます.

[IN]

test=65        
if test >= 60: 
    pass       #真のとき何もしない
else:
   print("不合格") 

[OUT]特に何も表示されません.  真のとき何も処理しませんでした.

複数のif文

 実際のプログラム中の条件分岐は1つではなく複数ある場合があります,if文の中に幾つかif文がある構造です.今回は条件分岐が2つある場合について考えてみます.

・血圧測定で正常値か高血圧か判定するプログラムをif文を使って作成します.
収縮血圧が120より大きく,拡張血圧が80より大きいのどちらかの条件を満たせば高血圧とします.これ以外は正常値とします.

・プログラム概要

 最初のif文で収縮血圧で高血圧であるか判定し,真であれば高血圧とプリントしループを抜けます.偽だと次のif文に行きます.拡張血圧で高血圧であるか判定し真であれば高血圧とプリントし.偽だと”正常”とプリントします.下図にフロー図を記載します.

[IN]

Sbp = 119  #収縮血圧(Systolic blood pressure)
Dbp = 81   #拡張血圧(Diated blood pressure)
if Sbp > 120:
    print("高血圧")
else:
    if Dbp > 80:
        print("高血圧")
    else:
        print("正常")

[OUT]

高血圧

 if文の中にif文がありますが,ゆっくり考えれば理解できるのではないかと思います.

トップページへ戻る

 スポンサーリンク

コメント

タイトルとURLをコピーしました