ここでは 「if」「elif」「else」と複雑な条件の組み合わせ に慣れるための、
初心者〜中級者向けの練習問題30問を用意しました。
基礎レベル(1〜10)
シンプルな分岐と elif の基本に慣れる練習。
Q1
変数 x = 10 のとき、
- 5より小さい → 「小さい」
- 5以上10未満 → 「普通」
- 10以上 → 「大きい」
と表示するプログラムを作りましょう。
Q2
変数 age に年齢を入力し、
- 13未満 → 「子ども」
- 13以上20未満 → 「ティーン」
- 20以上 → 「大人」
と表示。
Q3
変数 score に点数を入力して、
- 80以上 → 「合格」
- 50以上80未満 → 「追試」
- 50未満 → 「不合格」
と出力。
Q4
入力した文字列が "yes" または "y" なら「実行します」、
それ以外は「キャンセルしました」と表示。
Q5
温度 temp を入力して、
- 0以下 → 「凍結注意」
- 0〜25 → 「快適」
- 25超 → 「暑い」
を出力。
Q6
変数 num に整数を入力し、
- 正の偶数 → 「正の偶数」
- 正の奇数 → 「正の奇数」
- 負の数 → 「負の数」
- 0 → 「ゼロ」
と判定。
Q7
テストの点数 math, english を入力して、
両方80以上なら「優秀」
どちらかが80以上なら「もう少し」
両方とも80未満なら「努力が必要」。
Q8
hour に現在の時刻(0〜23)を入力して、
- 6〜11 → 「おはよう」
- 12〜17 → 「こんにちは」
- 18〜23 または 0〜5 → 「こんばんは」。
Q9
ユーザーに "yes" または "no" を入力させ、yes なら "開始します"、no なら "終了します"、
それ以外なら "入力が無効です" と出力。
Q10
変数 n が3の倍数であれば「Fizz」、5の倍数なら「Buzz」、
両方なら「FizzBuzz」、どちらでもなければ数値をそのまま出力。
中級レベル(11〜20)
複数条件や入れ子の分岐を練習します。
Q11
数値 x を入力して、
- 負の数 → 「負数」
- 0 → 「ゼロ」
- 100以上 → 「大きい数」
- それ以外 → 「普通の数」。
Q12
身長と体重を入力して、
BMI = 体重 / (身長(m)²) を計算。
BMIが
- 18.5未満 → 「やせ」
- 18.5〜25未満 → 「普通」
- 25以上 → 「太りぎみ」。
Q13
文字列 color が "red", "blue", "green" のいずれかなら色を表示、
それ以外なら「対象外」。
Q14
2つの数 a, b を入力して、
- aもbも正 → 「両方正」
- 片方だけ正 → 「どちらか正」
- 両方負またはゼロ → 「どちらも正ではない」。
Q15
month(1〜12)を入力し、
- 3〜5 → 「春」
- 6〜8 → 「夏」
- 9〜11 → 「秋」
- 12,1,2 → 「冬」。
Q16
整数 n が偶数でかつ3の倍数なら「偶数かつ3の倍数」
それ以外なら「その他」。
Q17
year がうるう年かどうか判定:
- 4で割り切れる年はうるう年
- ただし100で割り切れる年は除く
- ただし400で割り切れる年はうるう年。
Q18
入力された点数が
- 90以上 → A
- 80〜89 → B
- 70〜79 → C
- 60〜69 → D
- 60未満 → F。
Q19
ユーザー名とパスワードを入力させ、
正しければ「ログイン成功」、間違っていれば「エラー」と出力。
Q20
文字列 s に "@" が含まれていれば「メール形式」、
含まれていなければ「不正な形式」。
応用レベル(21〜30)
複雑な条件の組み合わせ、ネスト、論理演算子の活用。
Q21
3科目の平均が80以上、かつどの科目も60以上 → 「合格」
平均が80未満または1科目でも60未満 → 「不合格」。
Q22
3つの数 a,b,c のうち最大の値を表示。
Q23
整数 n が
- 2の倍数かつ3の倍数 → 「2と3の倍数」
- 2の倍数のみ → 「2の倍数」
- 3の倍数のみ → 「3の倍数」
- どちらでもない → 「その他」。
Q24
文字列が
- 空文字 → 「未入力」
- 空白のみ → 「空白」
- それ以外 → 「OK」。
Q25
age と has_ticket(True/False)で映画の入場判定:
18歳以上かつチケットあり → 「入場OK」
18歳未満 → 「年齢制限」
チケットなし → 「チケットが必要」。
Q26
変数 x, y を入力し、x > 0 かつ y > 0 → 「第1象限」x < 0 かつ y > 0 → 「第2象限」x < 0 かつ y < 0 → 「第3象限」x > 0 かつ y < 0 → 「第4象限」
その他(どちらか0)→ 「軸上」。
Q27
ユーザーの入力文字列が数字のみなら「数値です」、
英字のみなら「英字です」、
英数字混在なら「英数字です」、
その他なら「特殊文字を含みます」。
Q28
整数 x が0〜100の範囲外なら「範囲外」、
範囲内なら「OK」と出力。
Q29
day が "土" または "日" → 「休日」
それ以外で "金" → 「もうすぐ休日」
それ以外 → 「平日」。
Q30
入力した年齢が
- 0未満 → 「入力エラー」
- 0〜2 → 「乳児」
- 3〜12 → 「子ども」
- 13〜19 → 「ティーン」
- 20〜64 → 「大人」
- 65以上 → 「シニア」。
発展ヒント
and/or/notの組み合わせ練習が重要- 条件式が複雑になるときは「括弧で整理」
- 一見長くても「1条件1目的」で分かりやすく書くのがコツ
