【初心者向け】Python 条件分岐を理解しよう!

目次

条件分岐

条件分岐とは

条件分岐とは、条件に応じて処理内容を変えることで、Pythonでも他の言語と同様にif文を使って記述します。条件分岐と書くと難しそうなイメージを持つかもしれませんが、日常生活の中でも同じような考え方をしていると思います。例えば、誰かと食事に行くとき、どのようにお店を決めているでしょうか?

  • 店が定休日でないか?
  • 予算はどれくらいか?
  • 当日の天気は?
  • メンバーの誰かが食べられない料理はないか?

こういった何かしらの条件でお店を決めていると思います。この考え方は、プログラミンにおける条件分岐の考え方と同じです。

if文による条件分岐

ひとつの条件を満たす場合に処理を実行する場合には「if構文」を使って、次のように書きます。

if 条件式:
    if文の処理内容

「if 条件式:」となっていますが、条件式とは条件が正しければbool型のTrue、正しくなければFalseを返すものです。「if文の処理内容」のインデントを下げていますが、Pythonではこのようにインデントを下げた部分がブロックとして扱われます。この場合、条件式がTrueのとき、インデントを下げたif文の中身が実行されます。

処理の流れを図示すると、次のようになります。このように、条件によってプログラムの挙動を変化させることを「条件分岐」と呼びます。

elif/else構文

次に示すように、if 条件式:にelif 条件式:とelse:という構文を組み合わせることができます。

if 条件式1:
    処理内容1
elif 条件式2:
    処理内容2
else:
    処理内容3

elifは「else if」の略です。条件式1に条件が当てはまらなかった場合に、条件式2の条件に当てはまるか確認して、条件に当てはまればその処理のみ実行されます。この例では、elifは1つしか入れていませんが、複数入れることも可能です。最後のelseはどの条件にも当てはまらなかった場合に中の処理が実行されます。

elif/else構文を使った条件分岐を図示すると、次のようになります。

比較演算子

Pythonで使える比較演算子

if分の条件式には色々な演算子が使えます。Pythonで用意されている比較演算子は以下の通りです。

演算子機能
<a < baがbより小さい場合にTrueになる
<=a <= baがb以下の場合にTrueになる
>a > baがbより大きい場合にTrueになる
>=a >= baがb以上の場合にTrueになる
!=a != baとbが等しくない場合にTrueになる
==a == baとbが等しい場合にTrueになる

比較演算のサンプルコード

次に比較演算子を使ったサンプルコードと実行結果を示します。In [9]の実行結果が”False”になっていることに注意してください。Pythonでは比較演算子の左辺と右辺の型が異なると、Falseを返します。実行結果から各比較演算が正しく実行されていることがわかります。

Pythonコード

In [1]:

5 < 10

In [2]:

5 < 5

In [3]:

5 <= 5

In [4]:

5 > 10

In [5]:

5 > 5

In [6]:

5 >= 5

In [7]:

5 != 10

In [8]:

5 == 5

In [9]:

5 == “5”

実行結果

条件分岐を使ったサンプルコード

if構文のサンプルコード

if構文を使ったサンプルコードと実行結果を示します。このプログラムのif文では、変数budgetが5000より大きいか判定しています。結果として、budgetが5000より大きければ「ではお店Bに行きましょう!」というメッセージが表示され、そうでない場合には「ではお店Aに行きましょう!」というメッセージが表示されるようになっています。

実行結果から期待した通りの動作になっていることがわかります。

Pythonコード

In [10]:

budget = 3000
store = “A”
if budget > 5000:
    store = “B”
print(“ではお店{}に行きましょう!”.format(store))

In [11]:

budget = 8000
store = “A”
if budget > 5000:
    store = “B”
print(“ではお店{}に行きましょう!”.format(store))

実行結果

elif/else構文のサンプルコード

elif/else構文を使ったサンプルコードと実行結果を示します。このプログラムのif文では、先ほどのコードと同じように変数budgetが5000より大きいか判定しています。budgetが5000より大きくなければ、elif文で3000より大きいか判定されます。もし、elif文の条件にも当てはまらなければ、else文の処理が実行されます。結果として、budgetが5000より大きければ「ではお店Bに行きましょう!」というメッセージが表示され、budgetが3000より大きく5000より大きくなければ「ではお店Cに行きましょう!」というメッセージ、budgetが3000より大きくなければ「ではお店Aに行きましょう!」というメッセージが表示されます。

実行結果から期待通りの動作になっていることがわかります。

Pythonコード

In [12]:

budget = 8000
if budget > 5000:
    store = “B”
elif budget > 3000:
    store = “C”
else:
    store = “A”
print(“ではお店{}に行きましょう!”.format(store))

In [13]:

budget = 4000
if budget > 5000:
    store = “B”
elif budget > 3000:
    store = “C”
else:
    store = “A”
print(“ではお店{}に行きましょう!”.format(store))

In [14]:

budget = 2000
if budget > 5000:
    store = “B”
elif budget > 3000:
    store = “C”
else:
    store = “A”
print(“ではお店{}に行きましょう!”.format(store))

実行結果

まとめ

今回はPythonの「条件分岐」について紹介しました!次回はPythonでの繰り返し処理について扱う予定です!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です