Python

Python – ⑤ if文(条件分岐)

if文

 if文条件分岐に用いられます。条件分岐とは字のままの意味ですが、このようなイメージを思い浮かべればよいと思います。

 

 

 ある条件があってそれを満たす場合は①へ、満たさない場合は②へ行きます。①、②とは具体的には処理のことです。例えば変数xには2、変数yには3が代入されているときに『xとyの和が5』という条件があるとします。当てはまる場合は『print(‘x+y is 5’)』(=①)、そうでない場合は『print(‘x+y is not 5’)』(=②)という処理をします。この場合はx+y=2+3=5ですから条件にあてはまります。よって、①へ進みます。if文もこんな感じです。

 

 まずは『条件』についてみていきましょう。条件には次の種類があります。

 

記号 意味
== 左辺と右辺が等しい
!= 左辺と右辺は等しくない
< 左辺より右辺が大きい
> 左辺より右辺が小さい
<= 左辺より右辺が大きいか等しい
>= 左辺より右辺が小さいか等しい

 

 これらの記号は比較演算子と呼ばれます。これを使って条件を満たすかどうか、つまり真偽を判定します。真偽を判定するときには『True』(=真)か『False』(=偽)のどちらかの結果が出ます。『True』なら条件を満たし、『False』なら満たしていないということになります。手始めに真偽の判定だけをやってみましょう。

 

>>> x=5
>>> y=10
>>> x==5
True
>>> y==5
False
>>> x!=y
False
>>> x<y
True
>>> x>=y
False
>>> x+y==15
True

 

 ではif文に進みます。

 

書式
>>> if 条件:
□□□□処理

 

 ここでポイントが二つあります。1つ目は『条件』の後に『:』(コロン)を入力して改行すること、2つ目は『処理』を書く位置は四つスペース(書式中の赤い四角)を入れなければならないことです。スペースは半角です。スペースを空けることをインデントするといいます。インデントすることでif文に属する処理であるということを明示しています。今使っている『IDLE(Python 3.6 64-bit)』では自動でインデントされるので、注意を払う必要はありません。実例です。

 

>>> x=15
>>> if x/3==5:
print('本当です')
 
'本当です'
>>>

 

 15が代入されたxを3で割ると5なので処理(ここではprint(‘本当です’) )が実行されています。

 

 次に真の場合と偽の場合の両方を扱ってみます。

 

書式
>>> if 条件:
処理
else:
処理

 

 実例です。

 

>>> a=20
>>> if a%2==1:
print('奇数')
else:
print('偶数')
 
'偶数'
>>>

 

 『%』は左辺を右辺で割ったあまりでしたね。20が代入されたaを2で割ったあまりは1ではないので『else』の方が実行されています。

 

 ここまで条件を満たすかどうか二つにわけて処理をしました。しかし、三つ以上に分ける必要が出てくることもあります。そういった時には次のようにします。

 

書式
>>> if 条件1:
処理
elif 条件2:
処理
elif 条件3:
処理



else:
処理

 

 『elif』というのは『else if』の略です。『if』と『else』はそれぞれ一度ずつしか使えませんが、『elif』は何回でも使えます。実際に使ってみましょう。

 

>>> number=25
>>> if number%4==1:
print('あまり1')
elif number%4==2:
print('あまり2')
elif number%4==3:
print('あまり3')
else:
print('割り切れる')
 
'あまり1'
>>>

 

 ある数字を4で割るとあまりは1、2、3、なしの4種類です。ですから4つに分岐して処理しなければなりません。こういう場面において『elif』は重宝します。

 

 ここまでif文でした。少しプログラミングらしくなってきましたか?これからも様々な構文を紹介していきます。どんどん進んでいきましょう!⇓