Python | if / elif / else & 複雑な条件 演習セット

Python
スポンサーリンク

if / elif / else & 複雑な条件 演習セット(基礎編)

では、まずは Q1〜Q10(基礎レベル) から、
それぞれに 「解答例」+「ステップごとの解説」 を紹介します。


✅ Q1

問題
変数 x = 10 のとき、

  • 5より小さい → 「小さい」
  • 5以上10未満 → 「普通」
  • 10以上 → 「大きい」
    と表示するプログラムを作りましょう。

💡 解答例

x = 10

if x < 5:
    print("小さい")
elif x < 10:
    print("普通")
else:
    print("大きい")
Python

🪜 ステップ解説

  1. if文で最初の条件 x < 5 を確認
    → False(10は5より大きい)
  2. 次のelif x < 10 を確認
    → False(10は10未満ではない)
  3. どちらも当てはまらないので else に進む
    "大きい" と表示される。

✅ Q2

問題
年齢を入力し、

  • 13未満 → 「子ども」
  • 13以上20未満 → 「ティーン」
  • 20以上 → 「大人」
    と表示。

💡 解答例

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

if age < 13:
    print("子ども")
elif age < 20:
    print("ティーン")
else:
    print("大人")
Python

🪜 ステップ解説

  1. 入力は input() → 文字列なので int() で整数に変換。
  2. if age < 13: → 該当すれば「子ども」。
  3. elif age < 20: → 13〜19なら「ティーン」。
  4. どちらも当てはまらなければ else → 「大人」。

✅ Q3

問題
点数 score に応じて

  • 80以上 → 「合格」
  • 50以上80未満 → 「追試」
  • 50未満 → 「不合格」

💡 解答例

score = int(input("点数を入力: "))

if score >= 80:
    print("合格")
elif score >= 50:
    print("追試")
else:
    print("不合格")
Python

🪜 ステップ解説

  1. score >= 80 → Trueなら「合格」。
  2. そうでなければ elif score >= 50 をチェック。
  3. 両方Falseなら else → 「不合格」。
  4. 条件は「大きい順」に書くのが読みやすい。

✅ Q4

問題
文字列が "yes" または "y" なら「実行します」、それ以外は「キャンセルしました」。


💡 解答例

answer = input("実行しますか?(yes/y): ")

if answer == "yes" or answer == "y":
    print("実行します")
else:
    print("キャンセルしました")
Python

🪜 ステップ解説

  1. 入力を受け取る → answer
  2. if 条件で2つの可能性を確認:
    answer == "yes" or answer == "y"
  3. or は「どちらかTrueならTrue」。
  4. それ以外の入力なら else

✅ Q5

問題
温度 temp を入力して、

  • 0以下 → 「凍結注意」
  • 0〜25 → 「快適」
  • 25超 → 「暑い」

💡 解答例

temp = float(input("気温を入力してください: "))

if temp <= 0:
    print("凍結注意")
elif temp <= 25:
    print("快適")
else:
    print("暑い")
Python

🪜 ステップ解説

  1. float() で小数対応。
  2. temp <= 0 → 「凍結注意」。
  3. temp <= 25 → 0〜25 の範囲を担当。
  4. それ以外(25超)は else

✅ Q6

問題
整数 num を入力し、

  • 正の偶数 → 「正の偶数」
  • 正の奇数 → 「正の奇数」
  • 負の数 → 「負の数」
  • 0 → 「ゼロ」

💡 解答例

num = int(input("整数を入力: "))

if num > 0 and num % 2 == 0:
    print("正の偶数")
elif num > 0 and num % 2 != 0:
    print("正の奇数")
elif num < 0:
    print("負の数")
else:
    print("ゼロ")
Python

🪜 ステップ解説

  1. and を使って「両方満たす」条件を組み合わせ。
  2. 正の数+偶数 → num > 0 and num % 2 == 0
  3. 同様に奇数は num % 2 != 0
  4. 負数なら num < 0、それ以外(0)は else

✅ Q7

問題
数学と英語の点数を入力して、

  • 両方80以上 → 「優秀」
  • どちらか80以上 → 「もう少し」
  • 両方80未満 → 「努力が必要」

💡 解答例

math = int(input("数学の点数: "))
english = int(input("英語の点数: "))

if math >= 80 and english >= 80:
    print("優秀")
elif math >= 80 or english >= 80:
    print("もう少し")
else:
    print("努力が必要")
Python

🪜 ステップ解説

  1. and は「両方とも真」。
  2. or は「どちらかが真」。
  3. 最後の else は「どちらも80未満」。

✅ Q8

問題
現在の時刻(0〜23)を入力して、

  • 6〜11 → 「おはよう」
  • 12〜17 → 「こんにちは」
  • 18〜23 または 0〜5 → 「こんばんは」

💡 解答例

hour = int(input("今の時刻(0〜23): "))

if 6 <= hour <= 11:
    print("おはよう")
elif 12 <= hour <= 17:
    print("こんにちは")
else:
    print("こんばんは")
Python

🪜 ステップ解説

  1. 範囲チェックは 6 <= hour <= 11 のように書ける。
  2. 最後は「それ以外」→ 夜の時間帯をまとめて else

✅ Q9

問題
ユーザーに "yes" または "no" を入力させ、
yes なら "開始します"no なら "終了します"
それ以外なら "入力が無効です"


💡 解答例

ans = input("yes または no を入力: ")

if ans == "yes":
    print("開始します")
elif ans == "no":
    print("終了します")
else:
    print("入力が無効です")
Python

🪜 ステップ解説

  1. elif を使うと ifelse の中間条件が書ける。
  2. "yes""no" 以外は else に流れる。

✅ Q10

問題
n が3の倍数 → 「Fizz」
5の倍数 → 「Buzz」
両方 → 「FizzBuzz」
どちらでもない → 数値そのまま。


💡 解答例

n = int(input("整数を入力: "))

if n % 3 == 0 and n % 5 == 0:
    print("FizzBuzz")
elif n % 3 == 0:
    print("Fizz")
elif n % 5 == 0:
    print("Buzz")
else:
    print(n)
Python

🪜 ステップ解説

  1. 最初に「両方の倍数」を先に書く(最も限定的な条件)。
  2. 次に「3の倍数」「5の倍数」。
  3. 最後に「どれにも当てはまらない」→ else
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました