[Python] if文での条件分岐を行おう!

皆さんこんにちは。
本日はif文を使った条件分岐について学んでいきましょう。


if文は"条件分岐"や"場合分け"などと呼ばれたりもしており、
やっとプログラマー的な内容に入ります!
ぜひ楽しんでいってください。


Today's Contents


プログラミングを始めるとよく聞くのがこの「if文」です。
直訳すると「もし文」です。
皆さんの想像通りかと思いますが、
「もし○○なら××の処理をする」といったことをプログラムで実施します。

西野カナさんの”if”という曲の歌詞の引用です。

もしあの日の雨が止んでいたならきっとすれ違っていただけかも
いつも通りの時間にバスが来てたなら君とは出会うことがなかったんだね
まさにこれがif文にあたります。条件分岐です。


あの日雨が止んでいた
 (True) → 君とはすれ違う
 (False) →いつも通りの時間にバスが来ていた
         (True) → 君とは会えていなかった
         (False) → 君と会えた

色々な条件が揃ったことで出会うことができた。
素敵な歌詞ですね。

pythonではif文を以下のように記載します。

if 条件A:
   処理A
elif 条件B:
   処理B
else:
   処理C

それぞれ簡単に解説します。
【最初の2行】
if 条件A:
   処理A

条件Aは演算子を記載します。
演算子は通常bool型でTrue or Falseとなる値です。
また処理Aの記載の左側にはインデントと呼ばれる空白を用意します。
このインデントで条件Aの場合の処理がどこまでなのかを判断します。

【中間の2行】
elif 条件B:
   処理B

大きな概要は最初の2行と同様です。
異なる点としては ”if” が “elif” となっている部分です。
最初の”if”に当てはまらず、他の条件に当てはまる場合を作成する場合に
こちらの記載の方法になります。
※elifはいくつも重ねて記載することができます。

【最後の2行】
else:
   処理C

if文を締めくくる記載です。
“if” や、複数の”elif” に当てはまらない、”その他”場合の処理です。
そのため、”else” には、「条件」の指定がありません。

それでは実際にif文を実行してみましょう。
前談でお話した、西野カナさんのifを例に作成します。

(ア)「もしあの日の雨が止んでいたならきっとすれ違っていただけかも」
if あの日の雨=="止んでいた":
   print('すれ違っていた')

まずは「あの日の雨」を"止んでいた"と定義し、
後述でif文をかいてください。
しっかりとすれ違うことができました。

(イ)「いつも通りの時間にバスが来てたなら君とは出会うことがなかったんだね」
if 時間通りにバスが=="来た":
   print('君とは出会うことがなかった')

こちらも(ア)同様に、「時間通りにバスが」の箱に、"来た"と定義し、
後述でif文を書きましょう。
見事に出会うことはなかったという結果になるはずです。

(ア)+(イ)
if あの日の雨=="止んでいた":
   print('すれ違っていた')
elif 時間通りにバスが=="来た":
   print('君とは出会うことがなかった')
else:
   print('君と出会えた')

まずはifの部分の記述をしてください。こちらは(ア)そのままです。
続いてelifの部分です。(イ)の部分となりますが、
if文内の第二条件に当たるので、elifに置き換えて記載してください。
最後にelseの部分です。
こちらは条件は無いので、処理を後続にそのまま記載してください。


if文の前段で、
あの日の雨='降っていた'
時間通りにバスが='来なかった'
と定義してあげることで、しっかりと出会うことができましたね。

最後に"演算子"に関して解説します。
if文で記載した条件の部分(==の部分)を演算子と呼びます。
if文の条件の部分はTrue or Falseで判断され、処理が実行されます。
代表的な演算子は以下です。

演算子 意味
A == B AとBが等しい
A != B AとBが等しくない
A > B AがBよりも大きい ※AとBが同じ値は含まない
A < B AがBより小さい ※AとBが同じ値は含まない
A >= B AはB以上 ※AとBが同じ値を含む
A <= B AはB以下 ※AとBが同じ値を含む

また複数の条件をつなげて記載したい場合があるかと思います。
例えば今回の例では、条件分岐を2回作成しましたが、
あの日の雨=='降っていた' と 時間通りにバスが=='来なかった'
の2つの条件がTrueの場合に'出会うことができた'というイメージです。
その際は"論理演算子"と呼ばれるものを利用します。

論理演算子 意味
A and B AとBがTrueであればTrue
A or B AかBのどちらかがTrueであればTrue
not A AがFalseならばTrue

実際に論理演算子を利用して例文を記載すると、

if あの日の雨=="止んでいた" and 時間通りにバスが=="来た":
   print('君と出会えた')
else:
   print('君と出会えなかった')

となります。すっきりしていいですね。

本日はここまで。
皆さんお疲れ様でした!

コメント