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歳以上です!")このように、入力された情報に応じて適切なメッセージを表示することができれば、より実用的なプログラムへと近づいていきます。
次の章では、同じ処理を何度も繰り返す「繰り返し処理(ループ)」について学びます。 条件分岐と組み合わせることで、より柔軟で複雑なプログラムが書けるようになります。