レベル1:基礎(Q1〜Q10)
「True / False の判定」中心。最初は if なしで OK。
| No | 問題 |
|---|---|
| Q1 | 3 < 5 の結果は? |
| Q2 | 10 > 20 の結果は? |
| Q3 | 5 == 5 の結果は? |
| Q4 | 7 != 8 の結果は? |
| Q5 | 10 <= 10 の結果は? |
| Q6 | 4 >= 9 の結果は? |
| Q7 | "apple" < "banana" の結果は? |
| Q8 | "A" < "a" の結果は? |
| Q9 | True == 1 の結果は? |
| Q10 | False == 0 の結果は? |
✅ 解答・解説(レベル1)
| No | 解答 | 解説 |
|---|---|---|
| Q1 | True | 3 は 5 より小さい。 |
| Q2 | False | 10 は 20 より大きくない。 |
| Q3 | True | 等しい。 |
| Q4 | True | 異なるので True。 |
| Q5 | True | 等しいので OK。 |
| Q6 | False | 4 は 9 より大きくない。 |
| Q7 | True | “a” の後に “b” がくる。辞書順比較。 |
| Q8 | True | “A” は “a” よりコード値が小さい。 |
| Q9 | True | True は 1 と等しいと扱われる。 |
| Q10 | True | False は 0 と等しい。 |
レベル2:if 文の基本(Q11〜Q20)
単純な条件分岐の練習。
| No | 問題 |
|---|---|
| Q11 | 変数 x = 10。if x > 5: で「大きい」と表示するコードを書け。 |
| Q12 | x = 2 のとき、if x < 0: →「負数」そうでなければ「0以上」を表示。 |
| Q13 | a = 5 のとき、a == 5 なら「正解!」を表示。 |
| Q14 | num = 10 のとき、num % 2 == 0 なら「偶数」。 |
| Q15 | temp = 36.5 のとき、temp >= 37 なら「高温」。 |
| Q16 | x = 100 のとき、x != 50 なら「違う値」。 |
| Q17 | score = 90 のとき、if score >= 80: →「合格」 |
| Q18 | n = 0 のとき、0 かどうか判定して「Zero」表示。 |
| Q19 | x = 3, y = 5 のとき、x < y の場合に「xが小さい」。 |
| Q20 | if 10 == 10: → 何が表示される?(コードで print("Same")) |
✅ 解答・解説(レベル2)
| No | 解答例 | 解説 |
|---|---|---|
| Q11 | if x > 5: print("大きい") | 10 > 5 → True。 |
| Q12 | if x < 0: print("負数") else: print("0以上") | 2 は 0以上。 |
| Q13 | if a == 5: print("正解!") | 等号は ==。 |
| Q14 | if num % 2 == 0: print("偶数") | 剰余で偶奇判定。 |
| Q15 | if temp >= 37: print("高温") | 条件に当てはまらないので出力なし。 |
| Q16 | if x != 50: print("違う値") | True。 |
| Q17 | if score >= 80: print("合格") | 90点なので合格。 |
| Q18 | if n == 0: print("Zero") | True。 |
| Q19 | if x < y: print("xが小さい") | 3<5。 |
| Q20 | 出力:Same | 10 == 10 → True。 |
レベル3:if〜else / elif(Q21〜Q30)
条件分岐で複数の道を作る練習。
| No | 問題 |
|---|---|
| Q21 | x が正の数なら「正」、0なら「ゼロ」、負なら「負」。 |
| Q22 | age = 20、18歳以上なら「成人」、未満なら「未成年」。 |
| Q23 | score = 75、90以上A、75以上B、60以上C、それ以外D。 |
| Q24 | temp = 38、37以上なら「発熱」、36〜37なら「平熱」、それ以外「低体温」。 |
| Q25 | n = 5、奇数か偶数か表示。 |
| Q26 | password = "abc123"、入力が同じなら「ログイン成功」、違えば「失敗」。 |
| Q27 | height = 170、180以上なら「高い」、160以上なら「普通」、それ以外「低い」。 |
| Q28 | if 3 < 5 < 7: の結果は? |
| Q29 | if 10 < 5 < 20: の結果は? |
| Q30 | if not (x > 0): はどんな条件? |
✅ 解答・解説(レベル3)
| No | 解答 | 解説 |
|---|---|---|
| Q21 | 三段階の if/elif/else。 | 例:if x>0:... elif x==0:... else:... |
| Q22 | if age>=18: print("成人") else: print("未成年") | |
| Q23 | 多段階分岐。 | if score>=90: ... elif score>=75: ... elif score>=60: ... else: ... |
| Q24 | 同上。範囲条件注意。 | |
| Q25 | if n%2==0: print("偶数") else: print("奇数") | |
| Q26 | if pw == "abc123": ...。文字列比較。 | |
| Q27 | 順に比較(>=で上からチェック)。 | |
| Q28 | True(3<5かつ5<7)。 | |
| Q29 | False(10<5がFalse)。 | |
| Q30 | 「xが0以下」のとき True。 |
レベル4:複合条件(and / or / not)(Q31〜Q40)
条件を組み合わせる練習。
| No | 問題 |
|---|---|
| Q31 | age=20、has_id=True。18以上かつIDがあれば「入場OK」。 |
| Q32 | score=55、score>=50またはbonus=Trueなら「合格」。 |
| Q33 | x=5、not (x>0) の結果。 |
| Q34 | a=3, b=4、両方5未満なら「OK」。 |
| Q35 | x=10、x>0 and x<100。 |
| Q36 | temp=39、temp>=37 and temp<40。 |
| Q37 | age=16、age<13 or age>=65 の結果。 |
| Q38 | x=10、not (x==10) の結果。 |
| Q39 | a=10, b=20、if a<b and b<30:。 |
| Q40 | x=50、10〜100の範囲内なら「範囲内」。 |
✅ 解答・解説(レベル4)
| No | 解答・出力 | 解説 |
|---|---|---|
| Q31 | OK(両方True) | and は両方TrueでTrue。 |
| Q32 | True なら「合格」 | or は片方でOK。 |
| Q33 | False(x>0がTrueだからnotで反転) | |
| Q34 | True(3,4とも5未満) | |
| Q35 | True(10は範囲内) | |
| Q36 | True(37〜40未満) | |
| Q37 | False(16はどちらでもない) | |
| Q38 | False(x==10はTrue) | |
| Q39 | True(10<20<30) | |
| Q40 | True(10<=x<=100) |
レベル5:応用・実務的な条件(Q41〜Q50)
| No | 問題 |
|---|---|
| Q41 | ユーザー入力が "yes" または "y" なら「続行」。大文字小文字を無視。 |
| Q42 | age が 0〜120 なら「有効な年齢」、それ以外は「不正」。 |
| Q43 | score = 95、90以上なら「S」、80以上「A」、70以上「B」、60以上「C」、それ以外「F」。 |
| Q44 | username = "admin"、password = "1234" が一致したときだけ「ログイン成功」。 |
| Q45 | temp = 28、25〜30なら「快適」、それ以外は「調整必要」。 |
| Q46 | 3つの数 a,b,c のうち最大値を表示(ifのみ使用)。 |
| Q47 | x=5、5<=x<=10 のような範囲比較を書け。 |
| Q48 | 0.1+0.2 == 0.3 はTrueか?理由は? |
| Q49 | x=None のとき、「xはNone」を表示するコード。 |
| Q50 | if x is not None and x > 0: の意味を説明せよ。 |
✅ 解答・解説(レベル5)
| No | 解答・出力 | 解説 |
|---|---|---|
| Q41 | if s.lower() in ("yes","y"): → True。 | .lower()で小文字化。 |
| Q42 | if 0 <= age <= 120: | 範囲チェック。 |
| Q43 | 多段階if。 | 順に範囲を評価。 |
| Q44 | if username=="admin" and password=="1234": | 両方一致。 |
| Q45 | if 25 <= temp <= 30: → 快適。 | |
| Q46 | if a>=b and a>=c: ... elif b>=c: ... else: ... | 最大値判定。 |
| Q47 | 範囲比較は if 5 <= x <= 10: | 連鎖比較。 |
| Q48 | False(浮動小数誤差)→ abs(a-b)<1e-9推奨。 | |
| Q49 | if x is None: print("xはNone") | is 比較。 |
| Q50 | 「xがNoneでなく、かつ正の数のときTrue」。 |
まとめ
- 比較演算子は「値を比べて True / False を返す」。
==と=は別。and,or,notを組み合わせると複雑な条件も書ける。- 文字列・数・浮動小数点など型に注意。
is/is notは「同じオブジェクトか」を見る。
