Contents
8.1 2つの値を比較する
では、**「比較演算子とは何か?」**を
if文・条件分岐と結びつけてやさしく解説します。
比較演算子とは?
一言で言うと
👉 2つの値を比べて、正しいかどうか(True / False)を返す演算子です。
5 > 3
結果:
True
比較演算子は何に使う?
主に👇で使います。
if 文
while 文
条件分岐
判定処理
if score >= 60:
print(“合格”)
比較演算子の種類(超重要)
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
== |
等しい | 5 == 5 |
True |
!= |
等しくない | 5 != 3 |
True |
> |
より大きい | 5 > 3 |
True |
< |
より小さい | 3 < 5 |
True |
>= |
以上 | 5 >= 5 |
True |
<= |
以下 | 3 <= 5 |
True |
⚠ = は 代入
⚠ == が 比較
実際の例(数字)
age = 20
if age >= 18:
print("成人です")
文字列の比較もできる
print("apple" == "apple") # True
print("apple" < "banana") # True
👉 アルファベット順で比較
比較の結果は bool 型
result = (10 > 5)
print(result)
True
👉 結果は必ず
True または False
よくある初心者ミス
❌ = と == の混同
if x = 10: # エラー
⭕ 正解
if x == 10:
比較演算子は連続して使える
x = 10
print(5 < x < 20)
True
👉 Python独特で便利!
if文との関係(超重要)
if a == b:
print("同じ")
else:
print("違う")
まとめ(ここだけ覚えればOK)
比較演算子は 比べるための記号
結果は True / False
if 文の条件に使う
== と = は別物
8.2 条件に応じて処理を分岐する
では、**「条件分岐とは何か?」**を
Python初心者向けに、比較演算子との関係も含めて説明します。
条件分岐とは?
一言で言うと
👉 条件によって、実行する処理を分ける仕組みです。
人の判断と同じです👇
もし雨なら → 傘を持つ
そうでなければ → 持たない
これをプログラムで書くのが 条件分岐 です。
Pythonの条件分岐の基本:if文
基本形
if 条件:
処理
例:
age = 20
if age >= 18:
print("成人です")
if文で何が起きている?
age >= 18 を評価
True なら → 中の処理を実行
False なら → 何もしない
else(それ以外)
if age >= 18:
print("成人です")
else:
print("未成年です")
👉 二択の分岐
elif(複数の条件)
score = 75
if score >= 90:
print("優")
elif score >= 60:
print("良")
else:
print("不可")
👉 上から順に判定されます
条件には何が書ける?
比較演算子(よく使う)
x == 10
x >= 5
x != 0
論理演算子
if age >= 18 and age < 65:
print("現役世代")
True / False が条件になる
flag = True if flag:
print("実行されます")
よくある初心者ミス
❌ コロン(:)忘れ
if x > 0
❌ インデント不足
if x > 0:
print(x)
👉 Pythonは インデントが命
条件分岐のイメージ図
if 条件①:
処理A
elif 条件②:
処理B
else:
処理C
実用例(入力チェック)
age = int(input("年齢を入力: "))
if age < 0:
print("不正な値です")
elif age < 18:
print("未成年")
else:
print("成人")
まとめ(ここだけ覚えればOK)
条件分岐 = 判断して処理を変える
if / elif / else を使う
条件の結果は True / False
インデントと : が重要
8.3 より複雑な分岐を試す(1)
では、**「elif とは何か?」**を
if / else との違いがはっきり分かるように解説します。
elif とは?
一言で言うと
👉 「else if(それ以外でもし)」の省略形です。
if …… 最初の条件
elif …… それ以外の条件(複数書ける)
else …… どれにも当てはまらない場合
基本構文
if 条件1:
処理1
elif 条件2:
処理2
else:
処理3
👉 上から順番に条件をチェックします。
具体例(点数判定)
score = 75
if score >= 90:
print("優")
elif score >= 60:
print("良")
else:
print("不可")
実行の流れ
score >= 90 → False
score >= 60 → True ← ここで決定
else は実行されない
👉 最初に True になった1つだけが実行されます。
elif は何回でも書ける
age = 30
if age < 13:
print("子ども")
elif age < 20:
print("学生")
elif age < 65:
print("大人")
else:
print("高齢者")
if を複数書くのとの違い(重要)
❌ 間違いやすい例
if x > 0:
print("正")
if x > 5:
print("大きい")
👉 両方 True なら 両方実行される
⭕ 正しい使い分け
if x > 5:
print("大きい")
elif x > 0:
print("正")
👉 どれか1つだけ実行
elif を使う場面
成績判定
年齢区分
メニュー選択
入力値チェック
command = input("操作を入力: ")
if command == "a":
print("追加")
elif command == "d":
print("削除")
elif command == "q":
print("終了")
else: print("不明な操作")
よくある初心者ミス
❌ elif に条件を書かない
elif:
❌ elif の後にコロン(:)忘れ
elif x > 0
❌ インデントがずれる
elif x > 0:
print(x)
まとめ(ここだけ覚えればOK)
elif = 「それ以外でもし」
if と else の間に書く
何個でも書ける
最初に True の1つだけ実行
覚え方
if:最初の条件
elif:次の候補
else:全部ダメなら
次に理解するとさらにスッキリ👇
👉 elif と and / or の組み合わせ
👉 if文のネスト(入れ子)
8.4 より複雑な分岐を試す(2)
では、**「if命令の入れ子(ネスト)」**について、
初心者でもイメージしやすい形で説明します。
if文の入れ子(ネスト)とは?
一言で言うと
👉 if文の中に、さらにif文を書くことです。
if 条件A:
if 条件B:
処理
👉 **「条件の中で、さらに条件を判断する」**状態です。
日常の例で考える
人の判断👇
もし雨なら
もし寒いなら
コートを着る
これが ifのネスト です。
基本形(超重要)
if 条件1:
処理A
if 条件2:
処理B
⚠ インデント(字下げ)がポイント
具体例①(年齢+学生)
age = 20
student = True
if age >= 18:
print("成人です")
if student:
print("学生割引が使えます")
実行の流れ
age >= 18 をチェック
True なら中へ
次に student をチェック
具体例②(点数と合否)
score = 75
if score >= 60:
print("合格")
if score >= 90:
print("成績優秀")
else:
print("不合格")
ネストと elif の違い
ネスト版
if score >= 60:
if score >= 90:
print("優")
elif版(スッキリ)
if score >= 90:
print("優")
elif score >= 60:
print("合格")
👉 排他的な条件なら elif の方が読みやすい
ネストが必要な場面
✔ 条件Aが True の時だけ、条件Bを調べたい
✔ 状態チェックが段階的
✔ メニュー → サブメニュー
よくある初心者ミス
❌ インデントがずれる
if x > 0:
if x < 10:
print(x)
⭕ 正解
if x > 0:
if x < 10:
print(x)
ネストは深くしすぎない
❌ 悪い例(読みにくい)
if a:
if b:
if c:
print("OK")
⭕ 改善例
if a and b and c:
print("OK")
まとめ(ここだけ覚えればOK)
ネスト = ifの中にif
インデントが重要
条件を段階的に判定する
深くなりすぎたら見直す
覚え方
「条件の中で、さらに条件」
8.5 複合的な条件を表す
では、**「条件式を組み合わせる論理演算子とは何か?」**を
if文との関係を中心に解説します。
論理演算子とは?
一言で言うと
👉 複数の条件を「かつ」「または」「否定」で組み合わせるための演算子です。
Pythonの論理演算子は 3つだけ です。
| 演算子 | 意味 |
|---|---|
and |
かつ |
or |
または |
not |
〜ではない |
and(両方ともTrue)
age = 20
member = True
if age >= 18 and member:
print("入場できます")
✔ 両方 True のときだけ True
| 条件A | 条件B | 結果 |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
or(どちらかがTrue)
coupon = True
vip = False
if coupon or vip:
print("割引あり")
✔ どちらか1つでも True なら True
| 条件A | 条件B | 結果 |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
not(否定)
logged_in = False
if not logged_in:
print("ログインしてください")
✔ True ⇔ False を ひっくり返す
組み合わせて使う例
age = 25
student = True
if age >= 18 and age <= 25 and student:
print("学生割引対象")
カッコで優先順位を明確に
if (age < 18 or age > 65) and member:
print("割引対象")
👉 分かりにくい時は必ず () を使う
よくある初心者ミス
❌ 日本語っぽく書いてしまう
if age >= 18 && member: # PythonではNG
⭕ 正解
if age >= 18 and member:
if文での典型パターン
範囲チェック
if 10 <= x <= 20:
print("範囲内")
入力チェック
if name != "" and age > 0:
print("OK")
論理演算子の優先順位(簡単)
not
and
or
👉 迷ったら カッコを付ける
まとめ(ここだけ覚えればOK)
論理演算子は 条件を組み合わせる
and:両方必要
or:どちらかOK
not:否定
if文と必ず一緒に使う
8.6 複数の分岐を簡単に表す
では、**「複数の分岐を簡単に表す match 命令(match文)」**について、
if / elif との違いが分かるように解説します。
match命令(match文)とは?
一言で言うと
👉 たくさんの分岐を、スッキリ書ける条件分岐構文です。
Python 3.10以降で使用可能
他言語でいう switch文 に近い
なぜ match が必要?
if / elif が増えると…
if x == 1:
print("赤")
elif x == 2:
print("青")
elif x == 3:
print("緑")
else:
print("不明")
読みにくくなりがち
match を使うとスッキリ
match x:
case 1:
print("赤")
case 2:
print("青")
case 3:
print("緑")
case _:
print("不明")
✔ 見た目が整理される
✔ 分岐が分かりやすい
match文の基本構文
match 値:
case パターン1:
処理
case パターン2:
処理
case _:
処理 # どれにも当てはまらない場合
case _:は else の役割
上から順に判定される
具体例①:文字列の分岐
command = input("入力: ")
match command:
case "a":
print("追加")
case "d":
print("削除")
case "q":
print("終了")
case _:
print("不明なコマンド")
具体例②:複数条件をまとめる
day = "土"
match day:
case "土" | "日":
print("休日")
case _:
print("平日")
👉 | は または
具体例③:数値の範囲(ガード)
score = 85
match score:
case x if x >= 90:
print("優")
case x if x >= 60:
print("良")
case _:
print("不可")
👉 if を使って条件指定も可能
if / elif と match の使い分け
| 状況 | おすすめ |
|---|---|
| 条件が2〜3個 | if / elif |
| 値が固定で多い | match |
| コマンド選択 | match |
| 範囲判定中心 | if |
よくある注意点
⚠ Python 3.9以下では使えない
⚠ : とインデント必須
⚠ case に = は使わない
初心者向け覚え方
「値で分けるなら match」
「条件で分けるなら if」
まとめ(ここだけ覚えればOK)
match は 多分岐専用の構文
Python 3.10以上で使用可
case _ は else
if文より読みやすくなる

コメント