Python

【Python】条件分岐(第8回)

条件分岐についての学習をします。

準備をしよう

下のURLをクリックして、「paiza.IO」を開いてください。
https://paiza.io/ja/projects/new

学習内容

条件分岐とは

条件分岐とは、プログラミングの基本処理の1つで、枝分かれする処理のことです。

ある条件に適った場合、処理Aを実行する、そうでない場合、処理Bを実行する、というように、条件によって処理を分岐させることができます。

2つの分岐のパターンや3つ以上の分岐のパターン、また条件が1つの場合、複数の場合など、様々なプログラムの作り方ができます。

ここでは、代表的なPythonの条件分岐を紹介します。

if 文

ある条件が満たしていればA、そうでなければBという処理です。

イメージ

「Yes?」と聞かれ、Yesなら処理Aを実行、Noなら処理Bを実行、という動作をします。

書き方

以下のように書きます。

  1. ifの隣を「条件式」と呼びます。ここには、真偽値(TrueかFalseになるもの)が返る式を入れます。
  2. 条件式がTrueなら、すぐ下の処理を実行します。
  3. そうでなければ、「else」の下の処理を実行します。

具体的に見ていきましょう。

変数「num」を「5」で初期化しておきます。条件式は「num >= 3」なので、「5 >= 3」で条件式は「True」になるので、「print(“3以上です”)」の処理が実行されます。

練習

paiza.IOに、以下のコードを入れて下さい。

num = 5
if num >= 3:
    print("3以上です")
else:
    print("2未満です")
実行結果

コードを実行してみましょう。

3以上です

複雑な条件式

先ほどは、条件は1つのみでしたが、ここでは複数の条件を設定する方法を見ていきます。

イメージ

2つの「Yes?」を聞かれ、どちらもYesなら処理Aを実行、Noなら処理Bを実行、という動作をします。

書き方

以下のように書きます。

「and」の記号を挟んで、2つの条件式が入ります。条件式がどちらもTrueになれば、式全体が「True」になり、そうでなければ式全体が「False」になります。

「and」は、論理演算子というもので、「かつ」を意味します。真偽値を2つとり、どちらも「True」なら「True」になる演算子です。他にも「or」があり、これはどちらか一方でも「True」なら全体が「True」になる演算子です。

論理演算子については、別記事で詳しく解説しています。

第4回演算

具体的に見ていきましょう。

  1. 変数「num」を5で初期化しています。
  2. ifの「条件式」にて、「num >= 3」を判定。「5 >= 3」となるので、「True」が返ります。
  3. もう1つの式「num <= 7」を判定。「5 <= 7」となるので、こちらも「True」が返ります。
  4. どちらも「True」なので、全体が「True」となり、上の処理「print(“3以上7以下です”);」が実行されます。
練習

paiza.IOに、以下のコードを入れて下さい。

num = 5
if num >= 3 and num <= 7:
    print("3以上7以下です")
else:
    print("それ以外です")
実行結果

コードを実行してみましょう。

3以上7以下です

if-elif 文

「AかB」ではなく、「AかBかC」のように枝分かれを増やしたい場合に使うものです。

イメージ

「Yes?」と聞かれ、Yesなら処理Aを実行、Noならまた別に「Yes?」を聞かれ、Yesなら処理Bを実行、それもNoなら処理Cを実行、という動作をします。

書き方

以下のように書きます。

  1. ifの「条件式」がTrueなら、一番上の処理を実行します。
  2. そうでなければ、「elif(条件式)」に入り、Trueなら真ん中の処理を実行します。
  3. すべてFalseの場合、「else」に入り、一番下の処理を実行します

具体的に見ていきましょう。

  1. 変数「num」を「5」で初期化します
  2. ifの「num >= 7」が判定され、Falseになります。
  3. 「elif(条件式)」が判定され、ここでTrueになります。
  4. 「print(“3以上です”)」が実行されます。
練習

paiza.IOに、以下のコードを入れて下さい。

num = 5
if num >= 7:
    print("7以上です")
elif num >= 3:
    print("3以上です")
else:
    print("2未満です")
実行結果

コードを実行してみましょう。

3以上です

コード全体

練習
# if文
num = 5
if num >= 3:
    print("3以上です")
else:
    print("2未満です")

# 複雑な条件式
num = 5
if num >= 3 and num <= 7:
    print("3以上7以下です")
else:
    print("それ以外です")

# if-elif文
num = 5
if num >= 7:
    print("7以上です")
elif num >= 3:
    print("3以上です")
else:
    print("2未満です")
実行結果
3以上です
3以上7以下です
3以上です

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

まとめ

以上になります。今回は条件分岐についてお伝えしました。

if文はPythonの基本構文です。うまく作れるようになると、プログラミングでの表現が豊かになります。概念と使い方を理解したら、どんどん自分で書いてみてください。自然と身についていきます。

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