Pythonでif文による条件分岐
この記事では、Pythonのif文による条件分岐について、基本的な構文から応用的なテクニックまでを分かりやすく解説します。様々な条件分岐の書き方や、if文を効果的に使うためのコツを、サンプルコードと共に紹介します。
目次
if文の基本構文
最も基本的なif文の構文は次のようになります。条件式が真(True)の場合、コロン(:)以降のブロックが実行されます。
x = 10
if x > 5:
print("xは5より大きいです")
この例では、変数xが5より大きいかどうかを判定しています。xが10なので、条件式は真となり、"xは5より大きいです"が出力されます。
複数の条件を扱うelif
複数の条件を判定するにはelif (else if)を使用します。条件式が上から順番に評価され、最初の真の条件式に対応するブロックが実行されます。
score = 85
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
この例では、scoreの値によって異なる文字列が出力されます。scoreが85なので、"B"が出力されます。
条件が成立しない場合のelse
条件式が全て偽(False)の場合に実行するブロックを指定するにはelseを使用します。elseは必ずif文の最後に記述します。
age = 15
if age >= 20:
print("成人")
else:
print("未成年")
この例では、ageが20未満なので、"未成年"が出力されます。
条件演算子
条件式には、以下の条件演算子を使用できます。
等しい: ==
不等号: !=
より大きい: >
より小さい: <
以上: >=
以下: <=
これらの演算子を組み合わせて、複雑な条件式を作成できます。
ネストしたif文
if文の中にさらにif文を入れ子にすることができます。
x = 10
y = 5
if x > 5:
if y < 10:
print("xは5より大きく、yは10より小さい")
この例では、外側のif文と内側のif文の両方の条件が満たされた場合にのみ、メッセージが出力されます。
インデントの重要性
Pythonでは、インデント(字下げ)によってコードのブロックを定義します。if文のブロックは、適切なインデントで記述する必要があります。
# 正しいインデント
if x > 5:
print("正しい")
# 間違ったインデント
if x > 5:
print("間違い")
インデントが間違っていると、SyntaxErrorが発生します。通常4つのスペースを使用します。
実践的な例
年齢と性別を入力し、条件に応じてメッセージを表示するプログラムです。
age = int(input("年齢を入力してください: "))
gender = input("性別を入力してください(男性/女性): ")
if age >= 20:
if gender == "男性":
print("あなたは成人男性です")
elif gender == "女性":
print("あなたは成人女性です")
else:
print("性別が不明です")
else:
print("あなたは未成年です")
この例では、年齢と性別を元に複数の条件を判定し、適切なメッセージを表示します。