Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

これまでのプログラムはレシピのように、常に上から下へ同じ順序で実行されていました。しかし、特定の条件に基づいて何をするか選択したい場合はどうでしょう?ここで登場するのが条件分岐(Conditionals)です。

条件分岐はプログラムに意思決定をさせます。
コードのための信号機のようなものと考えてください:信号が緑ならこちらへ進み、赤ならあちらへ進みます。


基本構造

最もシンプルな条件分岐は次のようになります:

if condition:
    # conditionが真の場合に実行される

ifキーワードのあとに条件(真か偽を返すもの)を書き、コロンで終わらせます。その後、条件が真の場合に実行するコードのブロックをインデントして書きます。

例:

age = int(input("Your age: "))

if age >= 18:
    print("You are an adult.")

この場合:

  1. ユーザーの年齢を尋ねます。
  2. ageが18以上かチェックします。
  3. そうなら「You are an adult.」を表示します。
  4. そうでなければ、(今は)何も起こりません。
ヒント: 条件には ==, !=, >, <, >=, <= といった比較演算子が使えます。

elifelse で条件を追加

複数の可能性をチェックしたい場合もあります。

そのときに使うのが elif(“else if”の略)と else です:

age = 20

if age < 18:
    print("You are a minor")
elif age < 60:
    print("You are an adult")
else:
    print("You are a senior")

流れはこうなります:

  • 最初の if の条件が真なら、それを実行して残りはスキップ。
  • 偽なら elif の条件をチェック。
  • それも偽なら、else ブロック(その他すべてのケースの受け皿)を実行。
注意: 同じチェーン内に `if` は一つだけ、`else` も一つだけですが、`elif` は複数書くことができます。

簡単な演習:偶数か奇数か?

数字が偶数か奇数かをチェックする小さなプログラムを作ってみましょう:

number = int(input("Enter a number: "))

if number % 2 == 0:
    print("Even number")
else:
    print("Odd number")

ここでのポイントは number % 2 です。 % 演算子は割り算の余りを返します。偶数は2で割り切れて余りは0、奇数は余りが1になります。

初心者によくあるミス

トラブルシューティング: • “IndentationError” → ifelif、または else の下でコードを正しくインデントしていません。4つのスペースを使いましょう。 • “SyntaxError: expected ':'” → if/elif/else 行の末尾にコロンを付け忘れています。 • “NameError” → 条件で使う変数を作る前に使用しています。


条件分岐を学ぶことで、プログラムに意思決定の力を与えました。 次は関数を学びます。関数はコードをまとめて再利用できるようにする方法で、同じことを繰り返さずにより大きく、よりきれいなプログラムを作ることができます。