もどる

この記事は「うずら」とAIが協力して作成しました。
なるべく正確さを心がけていますが、最新の公式ドキュメントなどもあわせて確認してみてね!

python2026.2.21

1-5. 運命の分かれ道:計算と「条件分岐(if)」

計算と決断
if文の魔法

1-5. 運命の分かれ道:計算と「条件分岐(if)」

こんにちは、技術講師のうずらです。

これまでの学習で、プログラムが数字を記憶したり、計算したりできるようになりました。
まるで、私たちの秘書のように、言われたことを忠実にこなしてくれる、そんな感覚かもしれません。

ですが、もし「状況に応じて、プログラムに自分で判断して行動してほしい」と思ったらどうでしょう。
今回は、プログラムに「もし〜なら、これを実行する」という判断能力を与える魔法、「条件分岐(if文)」について探求していきます。

1. 3秒でわかるまとめ

プログラムが「もし〜なら〇〇する、そうでなければ△△する」と、状況によって違う行動をとるための仕組みが「条件分岐(if文)」です。

まるで「運命の分かれ道」を選ぶように、プログラムが賢く判断できるようになります。

もし (条件が正しい) ならば
  この処理を行う
そうでなければ
  別の処理を行う

2. プログラムに「判断」させる魔法:if文とは

身近な例で考えてみましょう。
「もし雨が降っていたら傘を持っていく。そうでなければ持っていかない。」
「もしテストで80点以上取ったら、ご褒美にゲームを買ってもらう!」

このような「もし〜ならば、…する」という考え方を、プログラミングの世界では「条件分岐」と呼びます。
Pythonでは if というキーワードを使って、この条件分岐を表現します。

これは、プログラムに意思を持たせるような、非常に重要な機能です。
私たちが普段行っている判断と同じように、プログラムも状況に合わせて最適な行動を選べるようになります。

補足だよ

プログラミングの多くの場面で、この「条件分岐」は使われます。例えば、ゲームで敵に攻撃が当たったかどうかの判定や、Webサイトでログインしているかどうかを判断する時など、数え切れないほど活躍しています。

3. 「正しい?間違っている?」をチェックする:比較演算子

if 文を使うには、「もし〇〇が正しいならば」という「〇〇が正しいかどうか」を判断する必要があります。
この「正しいか間違っているか」をプログラムに教えてあげるのが、「比較演算子」という記号たちです。

比較演算子は、2つの値や変数を比べて、その結果が「正しい(True)」か「間違っている(False)」かを教えてくれます。
いくつか代表的なものを見てみましょう。

記号意味結果
==等しい5 == 5True
!=等しくない5 != 10True
<より小さい5 < 10True
>より大きい10 > 5True
<=以下5 <= 5True
>=以上10 >= 5True

豆知識

=」と「==」はよく間違えやすいため注意してください。「=」は変数に値を代入する時に使い、「==」は2つの値が等しいかどうかを比較する時に使います。全く違う意味ですので、しっかり区別しましょう。

実際にこれらの比較演算子を使って、Pythonに判断させてみます。

score = 85

if score >= 80:
    print("おめでとう!よくできました!")

print("プログラムは終了です。")

上記のコードを実行すると、score が80以上なので「おめでとう!よくできました!」と表示されます。
もし score70 などに変更して実行してみてください。
その場合、「おめでとう!」のメッセージは表示されず、「プログラムは終了です。」だけが表示されます。

これがプログラムが判断している瞬間です。

4. もしも〜そうじゃなかったら〜:else と elif

先ほどの例では、「もし80点以上なら」という条件しかありませんでした。
しかし、現実世界では「もしAならX、そうでなければY」のように、複数の選択肢があることがほとんどです。

Pythonの if 文も、そのような複雑な状況に対応できます。
それが else (そうでなければ) と elif (そうではなく、もし〜なら) です。

else を使ってみよう

elseif 文の条件が 満たされなかった場合 に実行される処理を指定します。

age = 17

if age >= 18:
    print("あなたは成人です。")
else:
    print("あなたは未成年です。")

print("判定が終了しました。")

このコードでは、age が17なので age >= 18 は False となります。
そのため else のブロックが実行され、「あなたは未成年です。」と表示されます。

elif を使ってみよう

さらに細かく条件を分けたい場合は elif (else if の略) を使います。
elif は、最初の if の条件が満たされず、かつ「別の条件」が満たされた場合に実行されます。
elif はいくつでも追加することができます。

temperature = 28 # 気温を設定します

if temperature >= 30:
    print("今日は猛暑日です。水分補給をしましょう。")
elif temperature >= 25:
    print("今日は夏日です。")
else:
    print("過ごしやすい気温です。")

print("今日の天気予報でした。")

この例では temperature28 なので、

  1. temperature >= 30False です。
  2. 次の elif temperature >= 25 をチェックします。これは True です。
  3. そのため「今日は夏日です。」と表示されます。

プログラムは上から順に条件をチェックし、最初に条件がTrueになったブロックだけを実行する ということを覚えておいてください。

5. 計算結果を使った条件分岐

これまでに学んだ「計算」と「変数」と「条件分岐」を組み合わせてみましょう。
簡単な「合格判定アプリ」を作ってみます。ここでは、ユーザーから入力を受け取る input() という機能も少しだけ紹介します。

# 合格判定アプリ
print("テストの結果を判定します。")

# input()は、キーボードで入力された文字を受け取る機能です。
# int()を使って、文字を「数字」に変換しています。
score_text = input("あなたの点数を入力してください: ")
score = int(score_text)

# 目標点数を設定します
goal_score = 80

if score >= goal_score:
    print("目標達成です!おめでとうございます!")
elif score >= goal_score - 10:
    print("あと一息でした。次は頑張りましょう。")
else:
    print("もっと努力が必要です。")

# 計算結果を条件に使うこともできます
diff = score - goal_score
if diff > 0:
    print("目標より " + str(diff) + " 点も高かったです。")

補足だよ

input() で受け取った内容は最初は「文字」として扱われます。計算に使うためには、int() という機能を使って「整数(数字)」に変換する必要があります。このように、データの種類を変換することを「型変換」と呼びます。

このプログラムでは、自分の点数と目標点数を比較して、その差を計算し、結果に応じて異なるメッセージを表示しています。
プログラムが状況を判断して、適切な反応を返していることがわかります。

次の記事への招待

今回は、プログラムに「判断」という賢い能力を与える if 文の基本を学びました。
これでプログラムは、言われたことをこなすだけでなく、状況に応じて振る舞いを変えることができるようになったはずです。

しかし、プログラムにたくさんのデータを扱わせたい時、これまでの単一の「変数」だけでは管理が大変になります。
次の記事では、複数のデータをまとめて管理できる魔法の箱「リスト(list)」について学習していきます。

ゲームでたくさんの敵やアイテムを管理したり、複雑なデータ処理をする上で欠かせないテクニックです。
ぜひ データの箱リスト配列 を読んで、次の冒険の準備をしてください。

最後まで読んでくれてありがとう!🌱
ノートみたいに、いつでも見返してね。