Python | レベル別練習問題:比較演算子

Python
スポンサーリンク

レベル1:基礎(Q1〜Q10)

「True / False の判定」中心。最初は if なしで OK。

No問題
Q13 < 5 の結果は?
Q210 > 20 の結果は?
Q35 == 5 の結果は?
Q47 != 8 の結果は?
Q510 <= 10 の結果は?
Q64 >= 9 の結果は?
Q7"apple" < "banana" の結果は?
Q8"A" < "a" の結果は?
Q9True == 1 の結果は?
Q10False == 0 の結果は?

✅ 解答・解説(レベル1)

No解答解説
Q1True3 は 5 より小さい。
Q2False10 は 20 より大きくない。
Q3True等しい。
Q4True異なるので True。
Q5True等しいので OK。
Q6False4 は 9 より大きくない。
Q7True“a” の後に “b” がくる。辞書順比較。
Q8True“A” は “a” よりコード値が小さい。
Q9TrueTrue は 1 と等しいと扱われる。
Q10TrueFalse は 0 と等しい。

レベル2:if 文の基本(Q11〜Q20)

単純な条件分岐の練習。

No問題
Q11変数 x = 10if x > 5: で「大きい」と表示するコードを書け。
Q12x = 2 のとき、if x < 0: →「負数」そうでなければ「0以上」を表示。
Q13a = 5 のとき、a == 5 なら「正解!」を表示。
Q14num = 10 のとき、num % 2 == 0 なら「偶数」。
Q15temp = 36.5 のとき、temp >= 37 なら「高温」。
Q16x = 100 のとき、x != 50 なら「違う値」。
Q17score = 90 のとき、if score >= 80: →「合格」
Q18n = 0 のとき、0 かどうか判定して「Zero」表示。
Q19x = 3, y = 5 のとき、x < y の場合に「xが小さい」。
Q20if 10 == 10: → 何が表示される?(コードで print("Same")

✅ 解答・解説(レベル2)

No解答例解説
Q11if x > 5: print("大きい")10 > 5 → True。
Q12if x < 0: print("負数") else: print("0以上")2 は 0以上。
Q13if a == 5: print("正解!")等号は ==
Q14if num % 2 == 0: print("偶数")剰余で偶奇判定。
Q15if temp >= 37: print("高温")条件に当てはまらないので出力なし。
Q16if x != 50: print("違う値")True。
Q17if score >= 80: print("合格")90点なので合格。
Q18if n == 0: print("Zero")True。
Q19if x < y: print("xが小さい")3<5。
Q20出力:Same10 == 10 → True。

レベル3:if〜else / elif(Q21〜Q30)

条件分岐で複数の道を作る練習。

No問題
Q21x が正の数なら「正」、0なら「ゼロ」、負なら「負」。
Q22age = 20、18歳以上なら「成人」、未満なら「未成年」。
Q23score = 75、90以上A、75以上B、60以上C、それ以外D。
Q24temp = 38、37以上なら「発熱」、36〜37なら「平熱」、それ以外「低体温」。
Q25n = 5、奇数か偶数か表示。
Q26password = "abc123"、入力が同じなら「ログイン成功」、違えば「失敗」。
Q27height = 170、180以上なら「高い」、160以上なら「普通」、それ以外「低い」。
Q28if 3 < 5 < 7: の結果は?
Q29if 10 < 5 < 20: の結果は?
Q30if not (x > 0): はどんな条件?

✅ 解答・解説(レベル3)

No解答解説
Q21三段階の if/elif/else。例:if x>0:... elif x==0:... else:...
Q22if age>=18: print("成人") else: print("未成年")
Q23多段階分岐。if score>=90: ... elif score>=75: ... elif score>=60: ... else: ...
Q24同上。範囲条件注意。
Q25if n%2==0: print("偶数") else: print("奇数")
Q26if pw == "abc123": ...。文字列比較。
Q27順に比較(>=で上からチェック)。
Q28True(3<5かつ5<7)。
Q29False(10<5がFalse)。
Q30「xが0以下」のとき True。

レベル4:複合条件(and / or / not)(Q31〜Q40)

条件を組み合わせる練習。

No問題
Q31age=20has_id=True。18以上かつIDがあれば「入場OK」。
Q32score=55score>=50またはbonus=Trueなら「合格」。
Q33x=5not (x>0) の結果。
Q34a=3, b=4、両方5未満なら「OK」。
Q35x=10x>0 and x<100
Q36temp=39temp>=37 and temp<40
Q37age=16age<13 or age>=65 の結果。
Q38x=10not (x==10) の結果。
Q39a=10, b=20if a<b and b<30:
Q40x=50、10〜100の範囲内なら「範囲内」。

✅ 解答・解説(レベル4)

No解答・出力解説
Q31OK(両方True)and は両方TrueでTrue。
Q32True なら「合格」or は片方でOK。
Q33False(x>0がTrueだからnotで反転)
Q34True(3,4とも5未満)
Q35True(10は範囲内)
Q36True(37〜40未満)
Q37False(16はどちらでもない)
Q38False(x==10はTrue)
Q39True(10<20<30)
Q40True(10<=x<=100)

レベル5:応用・実務的な条件(Q41〜Q50)

No問題
Q41ユーザー入力が "yes" または "y" なら「続行」。大文字小文字を無視。
Q42age が 0〜120 なら「有効な年齢」、それ以外は「不正」。
Q43score = 95、90以上なら「S」、80以上「A」、70以上「B」、60以上「C」、それ以外「F」。
Q44username = "admin"password = "1234" が一致したときだけ「ログイン成功」。
Q45temp = 28、25〜30なら「快適」、それ以外は「調整必要」。
Q463つの数 a,b,c のうち最大値を表示(ifのみ使用)。
Q47x=55<=x<=10 のような範囲比較を書け。
Q480.1+0.2 == 0.3 はTrueか?理由は?
Q49x=None のとき、「xはNone」を表示するコード。
Q50if x is not None and x > 0: の意味を説明せよ。

✅ 解答・解説(レベル5)

No解答・出力解説
Q41if s.lower() in ("yes","y"): → True。.lower()で小文字化。
Q42if 0 <= age <= 120:範囲チェック。
Q43多段階if。順に範囲を評価。
Q44if username=="admin" and password=="1234":両方一致。
Q45if 25 <= temp <= 30: → 快適。
Q46if a>=b and a>=c: ... elif b>=c: ... else: ...最大値判定。
Q47範囲比較は if 5 <= x <= 10:連鎖比較。
Q48False(浮動小数誤差)→ abs(a-b)<1e-9推奨。
Q49if x is None: print("xはNone")is 比較。
Q50「xがNoneでなく、かつ正の数のときTrue」。

まとめ

  • 比較演算子は「値を比べて True / False を返す」。
  • === は別。
  • and, or, not を組み合わせると複雑な条件も書ける。
  • 文字列・数・浮動小数点など型に注意。
  • is / is not は「同じオブジェクトか」を見る。
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました