Python | レベル別練習問題:if文(条件分岐)

Python
スポンサーリンク

ここでは、「if文(条件分岐)」をテーマにした練習問題50問を、
✅ 基礎 → 中級 → 応用 の3段階で構成し、
各問題に 解答+解説 をつけます。
初心者が順番に進めることで、自然に if の考え方・使い方・注意点が身につく構成です。


【基礎編】(Q1〜Q20)

まずは「if文の書き方」と「比較演算」に慣れる練習です。


Q1

変数 x = 5 のとき、x が 3 より大きければ "OK" と表示するプログラムを書きなさい。

解答例

x = 5
if x > 3:
    print("OK")
Python

解説
if 条件: の形で、True のときだけブロックが実行されます。


Q2

x = 10 のとき、x が 10 なら「ちょうど10です」と表示する。

解答

x = 10
if x == 10:
    print("ちょうど10です")
Python

解説
== は「等しい」比較。= ではなく ==


Q3

num = 0 が 0 のとき「ゼロです」を表示。

解答

num = 0
if num == 0:
    print("ゼロです")
Python

Q4

a = 7 のとき、a が 5 より大きく、10 未満のとき "範囲内" と表示。

解答

a = 7
if a > 5 and a < 10:
    print("範囲内")
Python

解説
and で2つの条件をつなぐと、両方Trueなら実行されます。


Q5

x = -3 のとき、x が 0 未満なら「負の数です」を表示。

解答

x = -3
if x < 0:
    print("負の数です")
Python

Q6

ユーザーに年齢を入力させ、20歳以上なら「成人です」と出力。

解答

age = int(input("年齢を入力してください: "))
if age >= 20:
    print("成人です")
Python

Q7

変数 score = 80。60点以上なら「合格」、それ以外は「不合格」。

解答

score = 80
if score >= 60:
    print("合格")
else:
    print("不合格")
Python

Q8

x = 10。もし x == 10 なら "A", そうでなければ "B" と表示。

解答

x = 10
if x == 10:
    print("A")
else:
    print("B")
Python

Q9

num = -5。もし正の数なら「正」、そうでなければ「負」。

解答

num = -5
if num > 0:
    print("正")
else:
    print("負")
Python

Q10

n = 0。もし 0 なら "Zero"、正なら "Positive"、負なら "Negative"

解答

n = 0
if n > 0:
    print("Positive")
elif n == 0:
    print("Zero")
else:
    print("Negative")
Python

解説
elif は複数条件に対応する書き方。


Q11

a = 3, b = 5。もし a < b なら「a<b」、そうでなければ「a>=b」。

解答

a, b = 3, 5
if a < b:
    print("a<b")
else:
    print("a>=b")
Python

Q12

ユーザーが入力した数が偶数なら「偶数」、奇数なら「奇数」と出す。

解答

n = int(input("数を入力: "))
if n % 2 == 0:
    print("偶数")
else:
    print("奇数")
Python

Q13

x = 100 のとき、50以上かつ150以下なら「範囲内」。

解答

x = 100
if 50 <= x <= 150:
    print("範囲内")
Python

Q14

password = "python"。もし "python" なら「ログイン成功」。

解答

password = "python"
if password == "python":
    print("ログイン成功")
Python

Q15

x = 0。もし x が偽(False)扱いなら "False!" と表示。

解答

x = 0
if not x:
    print("False!")
Python

解説
0 は「偽扱い」になる(falsy)。


Q16

word = ""(空文字)。もし空なら「空文字です」。

解答

word = ""
if not word:
    print("空文字です")
Python

Q17

x = 10, y = 2。もし xy で割った結果が 5 なら "OK"

解答

x, y = 10, 2
if x / y == 5:
    print("OK")
Python

Q18

flag = True。もし True なら "実行します"

解答

flag = True
if flag:
    print("実行します")
Python

Q19

x = 10。もし 10 で割った余りが 0 なら「割り切れる」。

解答

x = 10
if x % 10 == 0:
    print("割り切れる")
Python

Q20

x = 5。もし x != 10 なら "10ではない"

解答

x = 5
if x != 10:
    print("10ではない")
Python

【中級編】(Q21〜Q35)

複数条件や入れ子構造、文字列・リストとの組み合わせを練習します。


Q21

入力した文字が "yes" なら「進みます」、 "no" なら「止まります」。

解答

ans = input("yes/no?: ")
if ans == "yes":
    print("進みます")
elif ans == "no":
    print("止まります")
Python

Q22

temp = 35。30℃以上なら「暑い!」、15℃未満なら「寒い!」、それ以外は「ちょうどいい」。

解答

temp = 35
if temp >= 30:
    print("暑い!")
elif temp < 15:
    print("寒い!")
else:
    print("ちょうどいい")
Python

Q23

num = int(input("数: "))。もし 3 の倍数なら「Fizz」。

解答

num = int(input("数: "))
if num % 3 == 0:
    print("Fizz")
Python

Q24

a = 10, b = 5。もし a > b かつ a - b > 3 なら「条件クリア」。

解答

a, b = 10, 5
if a > b and a - b > 3:
    print("条件クリア")
Python

Q25

text = "python"。もし "py" を含んでいれば "OK"

解答

text = "python"
if "py" in text:
    print("OK")
Python

Q26

リスト colors = ["red", "blue"]"green" が含まれていなければ "追加必要"

解答

colors = ["red", "blue"]
if "green" not in colors:
    print("追加必要")
Python

Q27

入力が "y" または "Y" なら「YES」と出す。

解答

c = input("y/n?: ")
if c == "y" or c == "Y":
    print("YES")
Python

Q28

n = 8。もし偶数なら "偶数", 奇数なら "奇数"、1行で書け。

解答

n = 8
print("偶数" if n % 2 == 0 else "奇数")
Python

Q29

x = 5。もし 1〜10 の範囲外なら「範囲外」と表示。

解答

x = 5
if not (1 <= x <= 10):
    print("範囲外")
Python

Q30

a = 5, b = 2。a が b の倍数なら "OK"

解答

a, b = 5, 2
if a % b == 0:
    print("OK")
Python

Q31

name = input("名前: ")。空白なら「入力してください」。

解答

name = input("名前: ")
if not name:
    print("入力してください")
Python

Q32

age = 15。もし 13〜19 才なら「ティーン」。

解答

age = 15
if 13 <= age <= 19:
    print("ティーン")
Python

Q33

x = 7x が 3 の倍数または 5 の倍数なら "OK"

解答

x = 7
if x % 3 == 0 or x % 5 == 0:
    print("OK")
Python

Q34

score = 0score が falsy なら「スコアなし」。

解答

score = 0
if not score:
    print("スコアなし")
Python

Q35

nums = [1, 2, 3]。要素が1つ以上なら "OK"

解答

nums = [1, 2, 3]
if nums:
    print("OK")
Python

【応用編】(Q36〜Q50)

ネストや複雑な条件、実務的な例を扱います。


Q36

ユーザー入力の数が偶数なら「偶数」、奇数なら「奇数」。0の場合は「ゼロ」。

解答

n = int(input("数: "))
if n == 0:
    print("ゼロ")
elif n % 2 == 0:
    print("偶数")
else:
    print("奇数")
Python

Q37

year = 2024。うるう年(4で割れて100で割れない、または400で割れる)なら「うるう年」。

解答

year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print("うるう年")
Python

Q38

point = 120
100点以上なら「S」、80以上「A」、60以上「B」、それ以外「C」。

解答

point = 120
if point >= 100:
    print("S")
elif point >= 80:
    print("A")
elif point >= 60:
    print("B")
else:
    print("C")
Python

Q39

文字列が "@gmail.com" を含むなら「Gmailアドレス」。

解答

email = "abc@gmail.com"
if "@gmail.com" in email:
    print("Gmailアドレス")
Python

Q40

a = 3, b = 0。もし b が 0 なら「割り算できません」。

解答

a, b = 3, 0
if b == 0:
    print("割り算できません")
else:
    print(a / b)
Python

Q41

num = 15。もし3と5両方の倍数なら「FizzBuzz」。

解答

num = 15
if num % 3 == 0 and num % 5 == 0:
    print("FizzBuzz")
Python

Q42

age = 22, has_ticket = False。18歳以上かつチケットありなら「入場OK」。

解答

age = 22
has_ticket = False
if age >= 18 and has_ticket:
    print("入場OK")
else:
    print("入場NG")
Python

Q43

n = 0。if文を使わずに「正」か「負」か「ゼロ」を判定(ヒント:三項演算子ネスト)。

解答

n = 0
print("正" if n > 0 else "負" if n < 0 else "ゼロ")
Python

Q44

入力した文字列が "python""Python" のどちらかなら「一致」。

解答

s = input("文字: ")
if s == "python" or s == "Python":
    print("一致")
Python

Q45

price = 1200。1000円を超えたら「高い」、そうでなければ「安い」。

解答

price = 1200
if price > 1000:
    print("高い")
else:
    print("安い")
Python

Q46

x = 10。10の倍数かつ20未満なら「条件OK」。

解答

x = 10
if x % 10 == 0 and x < 20:
    print("条件OK")
Python

Q47

msg = "Hello"。先頭が "H" なら「英語の挨拶」。

解答

msg = "Hello"
if msg.startswith("H"):
    print("英語の挨拶")
Python

Q48

num = 9。平方根が整数なら「平方数」。

解答

import math
num = 9
if math.sqrt(num).is_integer():
    print("平方数")
Python

Q49

x = 5。奇数なら「Odd」、偶数なら「Even」と出力する関数を定義。

解答

def check(x):
    if x % 2 == 0:
        print("Even")
    else:
        print("Odd")

check(5)
Python

Q50

a, b, c = 3, 4, 5。三角形の辺として成立するなら「三角形」。

解答

a, b, c = 3, 4, 5
if a + b > c and a + c > b and b + c > a:
    print("三角形")
Python

✅ まとめ

レベル内容
基礎if文の書き方・比較演算・else
中級elif, 論理演算, 文字列/リスト条件
応用実務的条件・関数内if・ネスト構造

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました