HomeBooks

En

Chapter 1
§1.0 Pythonを動かす
Chapter 2
§2.0 基礎編
§2.3 if文
KM
bykarutt

2025-06-02

ここまでで、Pythonの基本的な使い方が少しずつわかってきたと思います。ですが、実際のプログラムでは「条件によって処理を変える」「同じ処理を何度も繰り返す」といった、もう少し複雑な考え方が必要です。

ここからは、プログラムの流れを自分でコントロールするための「制御構文」について学びましょう。

ユーザーから入力を受け取るには?

プログラムをより実用的にするには、「ユーザーが入力した値」に応じて動きを変える必要があります。ですので、if文を学ぶ前に input() 関数を紹介しておきましょう。

  • 概要
    • input() は、ユーザーがキーボードから入力した内容を受け取る関数です。
    • 入力された内容は、文字列(str型) として変数に保存されます。
  • できること
    • プログラムの実行中に、ユーザーから情報(名前・年齢など)を受け取ることができる
    • 入力値を使って、出力内容や処理の流れを変えることができる
    • int() などと組み合わせて、数値として扱うこともできる

例えば、次のように使います。

name = input("あなたの名前を入力してください")
print("こんにちは、", name, "さん!")

このようにして、プログラムの実行中に「人の判断」や「入力」に応じた処理を組み込むことができます。次は、この「入力された値」によって処理を変える方法、つまり「条件分岐」について学びましょう。

制御構文とは?

これまで書いてきたコードは、特に指示をしなくても「上から順番に実行される」というルールに従っていました。これを「逐次処理」といいます。

しかし、現実の動きはそれだけでは表現できません。たとえば、以下のようなフローチャートをコードにするには、実行の流れを自分でコントロールする仕組みが必要です。

このように、「条件に応じて処理を分ける」ためには、「分岐処理」を使います。

条件分岐(if / elif / else)

  • 概要:ある条件が True(真)か False(偽)かを判定して、実行する処理を切り替える構文です。
  • できること:「もし〜なら〇〇する」「そうでなければ△△する」といった処理の流れを作れます。

if文の基本形

if 条件式:          # 条件式がTrueなら
    処理1           # この処理が実行される
else:              # 条件式がFalseなら
    処理2           # 代わりにこちらが実行される

実践:入力によってメッセージを変える

たとえば、ユーザーから年齢を入力してもらい、それに応じて異なるメッセージを表示するプログラムは次のように書けます。

age = int(input("年齢を入力してください: "))
if age >= 18:
    print("18歳以上です。")
else:
    print("18歳未満です。")

このように、if文を使えば「入力内容に応じた反応」をプログラムに実装できます。 この発想がわかると、次回学ぶ「繰り返し処理」でも、より柔軟なプログラムが書けるようになります。

  • input() 関数は、ユーザーからキーボードで文字を入力してもらうための関数です。
  • int() 関数は、入力された文字列(たとえば "18")を数値(整数)に変換します。
    input() は常に文字列として値を受け取るため、数値として大小を比べたい場合は変換が必要です。

elif(それ以外の条件を分ける)

「18歳以上か、そうでなければ…」だけでなく、「13歳未満なら」「13歳以上18歳未満なら」など、さらに細かく分けたいときはどうすればいいでしょうか? そんなときに使うのが elif(else if の略)です。

age = int(input("年齢を入力してください: "))

if age < 13:
    print("13歳未満です。")
elif age < 18:
    print("13歳以上、18歳未満です。")
else:
    print("18歳以上です。")
  • 最初の if 条件が False のとき、次の elif を調べます。
  • どれにも当てはまらなければ、最後の else が実行されます。

このようにして、3つ以上の条件分岐もすっきり書けるようになります。

実践:自動メッセージプログラムを作ってみよう

最後に、input()if / elif / else を組み合わせて、ちょっとした自動メッセージプログラムを作ってみましょう。

name = input("あなたの名前を入力してください: ")
age = int(input("あなたの年齢を入力してください: "))

if age < 6:
    print(name, "さんは未就学児ですね!")
elif age < 12:
    print(name, "さんは小学生ですね!")
elif age < 15:
    print(name, "さんは中学生ですね!")
elif age < 18:
    print(name, "さんは高校生ですね!")
else:
    print(name, "さんは18歳以上です!")

このように、入力された情報に応じて適切なメッセージを表示することができれば、より実用的なプログラムへと近づいていきます。

次の章では、同じ処理を何度も繰り返す「繰り返し処理(ループ)」について学びます。 条件分岐と組み合わせることで、より柔軟で複雑なプログラムが書けるようになります。

Prev
§2.2 演算子と式