記事一覧へ戻る 本の順番で続きを読む

条件分岐(if文)と比較演算子

Python3初級 | 2026/02/18 15:36

条件分岐(if文)

基本のif文

Pythonではインデント(スペース4つ)でブロックを表現します。

age = 20

if age >= 18:
    print("成人です")

if-else文

age = 15

if age >= 18:
    print("成人です")
else:
    print("未成年です")

if-elif-else文

score = 75

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

print(f"成績: {grade}")  # 成績: C

比較演算子

x = 10

print(x == 10)   # True  等しい
print(x != 5)    # True  等しくない
print(x > 5)     # True  より大きい
print(x < 20)    # True  より小さい
print(x >= 10)   # True  以上
print(x <= 10)   # True  以下

# 連鎖比較(Pythonの特徴)
age = 25
print(18 <= age < 65)  # True

論理演算子

age = 25
income = 500

# and(かつ)
if age >= 20 and income >= 300:
    print("ローン審査OK")

# or(または)
day = "土曜日"
if day == "土曜日" or day == "日曜日":
    print("休日です")

# not(否定)
is_holiday = False
if not is_holiday:
    print("出勤日です")

真偽値の評価

Pythonでは以下の値がFalse(偽)として扱われます。

# Falsy な値
# False, 0, 0.0, "", [], {}, set(), None

# 実用例
name = ""
if name:
    print(f"こんにちは、{name}さん")
else:
    print("名前が入力されていません")

items = []
if not items:
    print("リストは空です")

三項演算子(条件式)

age = 20
status = "成人" if age >= 18 else "未成年"
print(status)  # 成人

in 演算子

# リスト・タプル・セットに含まれるか
fruits = ["りんご", "みかん", "ぶどう"]
if "みかん" in fruits:
    print("みかんがあります")

# 文字列に含まれるか
message = "今日はいい天気です"
if "天気" in message:
    print("天気の話題です")

# 辞書のキーに含まれるか
user = {"name": "太郎", "age": 25}
if "email" not in user:
    print("メールアドレスが未登録です")

match文(Python 3.10+)

command = "quit"

match command:
    case "start":
        print("開始します")
    case "stop":
        print("停止します")
    case "quit" | "exit":
        print("終了します")
    case _:
        print("不明なコマンドです")

実践例:BMI判定

height = 1.70  # メートル
weight = 65    # キログラム

bmi = weight / (height ** 2)

if bmi < 18.5:
    result = "低体重"
elif bmi < 25:
    result = "普通体重"
elif bmi < 30:
    result = "肥満(1度)"
else:
    result = "肥満(2度以上)"

print(f"BMI: {bmi:.1f}{result}")

まとめ

  • if/elif/else で条件分岐を書く
  • インデント(スペース4つ)がブロックの区切り
  • and, or, not で条件を組み合わせる
  • Falsy な値(0, "", [], None など)を活用すると簡潔に書ける
  • in 演算子でメンバーシップテストができる