条件分岐(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演算子でメンバーシップテストができる