if-elif-else文で複数の条件分岐
目次
1. このレッスンで学ぶこと
- elif文の使い方
- 3つ以上の条件で分岐する方法
- if-elif-elseの実行順序
- 実践的な多分岐処理
2. if-elif-else文とは
if-elif-else文は、3つ以上の条件で分岐するための制御構文です。複数の条件を順番にチェックし、最初に真になった条件のブロックだけを実行します。
if-elif-else文の基本構造
Pythonif 条件1: 処理A # 条件1が真 elif 条件2: 処理B # 条件1が偽、条件2が真 elif 条件3: 処理C # 条件1,2が偽、条件3が真 else: 処理D # すべて偽
elifとは
| 項目 | 説明 |
|---|---|
| 名前 | else if の省略形 |
| 意味 | 「そうでなくて、もし〜ならば」 |
| 役割 | 追加の条件を検査 |
| 個数 | いくつでも追加可能 |
if-elif-else文の特徴
- 複数の条件を段階的にチェック
- 最初に真になった条件だけが実行される
- 上から順番に条件を評価
- elseは省略可能(最後のみ)
簡単な例
Python# 成績評価の例 score = 85 if score >= 90: print("A評価") elif score >= 80: print("B評価") # これが実行される elif score >= 70: print("C評価") # スキップ else: print("D評価") # スキップ # 実行結果: B評価
3. なぜelif文が必要なのか?
if-elseは2択の分岐ですが、実際のプログラムでは3つ以上の選択肢が必要な場合がよくあります。
Pythonscore = 75 # elif なしで書くと複雑 if score >= 90: grade = "A" else: if score >= 80: grade = "B" else: if score >= 70: grade = "C" else: grade = "D" # elif を使うとシンプル if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" else: grade = "D"
elif文を使うことで、複数の条件を見やすく、わかりやすく書けます。
💡 豆知識: elifは「else if」の省略形です。「そうでなくて、もし〜ならば」という意味で、複数の条件を順番にチェックします。
4. if-elif-else文の基本
基本的な書き方
機能: 上から順に条件を評価し、最初に真になった条件のブロックだけを実行します。
Pythonif 条件1: 処理A # 条件1が真 elif 条件2: 処理B # 条件1が偽、条件2が真 elif 条件3: 処理C # 条件1,2が偽、条件3が真 else: 処理D # すべて偽
書き方のルール:
- 最初は必ず
if - 途中の条件は
elif(いくつでも可) - 最後に
else(省略可) - 各条件の後にコロン(
:)
用途: 成績評価、料金区分、段階的な判定
5. 実行順序
Pythonscore = 75 if score >= 90: print("A") # チェック: 75 >= 90 → False、スキップ elif score >= 80: print("B") # チェック: 75 >= 80 → False、スキップ elif score >= 70: print("C") # チェック: 75 >= 70 → True、実行! elif score >= 60: print("D") # 上で実行されたので、チェックされない else: print("F") # チェックされない # 実行結果: C
重要: 最初に真になった条件のブロックだけが実行され、残りはスキップされます。
6. 具体例
例1: 成績評価システム
Pythonscore = 85 if score >= 90: grade = "A" print("素晴らしい!") elif score >= 80: grade = "B" print("よくできました") elif score >= 70: grade = "C" print("合格です") elif score >= 60: grade = "D" print("もう少し頑張りましょう") else: grade = "F" print("不合格です") print(f"評価: {grade}") # 実行結果: # よくできました # 評価: B
例2: 年齢による料金区分
Pythonage = 15 if age < 6: price = 0 category = "未就学児" elif age < 12: price = 500 category = "小学生" elif age < 18: price = 800 category = "中高生" elif age < 65: price = 1200 category = "大人" else: price = 600 category = "シニア" print(f"{category}: {price}円") # 実行結果: # 中高生: 800円
例3: BMIによる判定
Pythonweight = 65 height = 1.7 bmi = weight / height ** 2 print(f"BMI: {bmi:.1f}") if bmi < 18.5: status = "低体重" elif bmi < 25: status = "普通体重" elif bmi < 30: status = "肥満(1度)" else: status = "肥満(2度以上)" print(f"判定: {status}") # 実行結果: # BMI: 22.5 # 判定: 普通体重
7. 練習問題
問題1(基礎)⭐☆☆
変数temperatureに気温が入っています。以下の基準で分類してください:
- 30度以上: 「猛暑」
- 25度以上: 「暑い」
- 20度以上: 「快適」
- それ以外: 「寒い」
💡 ヒント
大きい値から順にチェックします。
✅ 解答例
Pythontemperature = 28 if temperature >= 30: print("猛暑") elif temperature >= 25: print("暑い") elif temperature >= 20: print("快適") else: print("寒い")
実行結果:
暑い
解説: 28度は30度未満、25度以上なので、2番目のelifが実行されます。
問題2(基礎)⭐☆☆
変数monthに月が入っています。季節を判定してください:
- 3〜5月: 春
- 6〜8月: 夏
- 9〜11月: 秋
- 12〜2月: 冬
💡 ヒント
範囲チェックには <= と >= を使います。
✅ 解答例
Pythonmonth = 7 if 3 <= month <= 5: season = "春" elif 6 <= month <= 8: season = "夏" elif 9 <= month <= 11: season = "秋" else: season = "冬" print(f"{month}月は{season}です")
実行結果:
7月は夏です
解説: チェーン比較で範囲判定ができます。
問題3(応用)⭐⭐☆
変数scoreに点数が入っています。以下の基準で評価してください:
- 90点以上: S評価
- 80点以上: A評価
- 70点以上: B評価
- 60点以上: C評価
- それ以外: D評価
さらに、評価に応じたメッセージも表示してください。
💡 ヒント
各elifブロックに複数の処理を書けます。
✅ 解答例
Pythonscore = 85 if score >= 90: grade = "S" message = "素晴らしい!" elif score >= 80: grade = "A" message = "よくできました" elif score >= 70: grade = "B" message = "良好です" elif score >= 60: grade = "C" message = "合格です" else: grade = "D" message = "もう少し頑張りましょう" print(f"点数: {score}点") print(f"評価: {grade}") print(message)
実行結果:
点数: 85点
評価: A
よくできました
解説: 各ブロックに複数の処理を書くことで、詳細な出力ができます。
8. まとめ
このレッスンでは、if-elif-else文で複数条件を分岐する方法を学びました。
- if-elif-else文を使うと、3つ以上の条件を順番に判定できます。
- 条件は上から評価され、最初に真になったブロックだけが実行されます。
- 条件の順序を適切に設計することで、判定漏れや重複を防げます。
- 複数段階の評価は、成績判定や料金区分など実務でよく使われます。
- 最後にelseを置くことで、想定外ケースにも対応しやすくなります。
if-elif-else文で複数の条件分岐
目次
1. このレッスンで学ぶこと
- elif文の使い方
- 3つ以上の条件で分岐する方法
- if-elif-elseの実行順序
- 実践的な多分岐処理
2. if-elif-else文とは
if-elif-else文は、3つ以上の条件で分岐するための制御構文です。複数の条件を順番にチェックし、最初に真になった条件のブロックだけを実行します。
if-elif-else文の基本構造
Pythonif 条件1: 処理A # 条件1が真 elif 条件2: 処理B # 条件1が偽、条件2が真 elif 条件3: 処理C # 条件1,2が偽、条件3が真 else: 処理D # すべて偽
elifとは
| 項目 | 説明 |
|---|---|
| 名前 | else if の省略形 |
| 意味 | 「そうでなくて、もし〜ならば」 |
| 役割 | 追加の条件を検査 |
| 個数 | いくつでも追加可能 |
if-elif-else文の特徴
- 複数の条件を段階的にチェック
- 最初に真になった条件だけが実行される
- 上から順番に条件を評価
- elseは省略可能(最後のみ)
簡単な例
Python# 成績評価の例 score = 85 if score >= 90: print("A評価") elif score >= 80: print("B評価") # これが実行される elif score >= 70: print("C評価") # スキップ else: print("D評価") # スキップ # 実行結果: B評価
3. なぜelif文が必要なのか?
if-elseは2択の分岐ですが、実際のプログラムでは3つ以上の選択肢が必要な場合がよくあります。
Pythonscore = 75 # elif なしで書くと複雑 if score >= 90: grade = "A" else: if score >= 80: grade = "B" else: if score >= 70: grade = "C" else: grade = "D" # elif を使うとシンプル if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" else: grade = "D"
elif文を使うことで、複数の条件を見やすく、わかりやすく書けます。
💡 豆知識: elifは「else if」の省略形です。「そうでなくて、もし〜ならば」という意味で、複数の条件を順番にチェックします。
4. if-elif-else文の基本
基本的な書き方
機能: 上から順に条件を評価し、最初に真になった条件のブロックだけを実行します。
Pythonif 条件1: 処理A # 条件1が真 elif 条件2: 処理B # 条件1が偽、条件2が真 elif 条件3: 処理C # 条件1,2が偽、条件3が真 else: 処理D # すべて偽
書き方のルール:
- 最初は必ず
if - 途中の条件は
elif(いくつでも可) - 最後に
else(省略可) - 各条件の後にコロン(
:)
用途: 成績評価、料金区分、段階的な判定
5. 実行順序
Pythonscore = 75 if score >= 90: print("A") # チェック: 75 >= 90 → False、スキップ elif score >= 80: print("B") # チェック: 75 >= 80 → False、スキップ elif score >= 70: print("C") # チェック: 75 >= 70 → True、実行! elif score >= 60: print("D") # 上で実行されたので、チェックされない else: print("F") # チェックされない # 実行結果: C
重要: 最初に真になった条件のブロックだけが実行され、残りはスキップされます。
6. 具体例
例1: 成績評価システム
Pythonscore = 85 if score >= 90: grade = "A" print("素晴らしい!") elif score >= 80: grade = "B" print("よくできました") elif score >= 70: grade = "C" print("合格です") elif score >= 60: grade = "D" print("もう少し頑張りましょう") else: grade = "F" print("不合格です") print(f"評価: {grade}") # 実行結果: # よくできました # 評価: B
例2: 年齢による料金区分
Pythonage = 15 if age < 6: price = 0 category = "未就学児" elif age < 12: price = 500 category = "小学生" elif age < 18: price = 800 category = "中高生" elif age < 65: price = 1200 category = "大人" else: price = 600 category = "シニア" print(f"{category}: {price}円") # 実行結果: # 中高生: 800円
例3: BMIによる判定
Pythonweight = 65 height = 1.7 bmi = weight / height ** 2 print(f"BMI: {bmi:.1f}") if bmi < 18.5: status = "低体重" elif bmi < 25: status = "普通体重" elif bmi < 30: status = "肥満(1度)" else: status = "肥満(2度以上)" print(f"判定: {status}") # 実行結果: # BMI: 22.5 # 判定: 普通体重
7. 練習問題
問題1(基礎)⭐☆☆
変数temperatureに気温が入っています。以下の基準で分類してください:
- 30度以上: 「猛暑」
- 25度以上: 「暑い」
- 20度以上: 「快適」
- それ以外: 「寒い」
💡 ヒント
大きい値から順にチェックします。
✅ 解答例
Pythontemperature = 28 if temperature >= 30: print("猛暑") elif temperature >= 25: print("暑い") elif temperature >= 20: print("快適") else: print("寒い")
実行結果:
暑い
解説: 28度は30度未満、25度以上なので、2番目のelifが実行されます。
問題2(基礎)⭐☆☆
変数monthに月が入っています。季節を判定してください:
- 3〜5月: 春
- 6〜8月: 夏
- 9〜11月: 秋
- 12〜2月: 冬
💡 ヒント
範囲チェックには <= と >= を使います。
✅ 解答例
Pythonmonth = 7 if 3 <= month <= 5: season = "春" elif 6 <= month <= 8: season = "夏" elif 9 <= month <= 11: season = "秋" else: season = "冬" print(f"{month}月は{season}です")
実行結果:
7月は夏です
解説: チェーン比較で範囲判定ができます。
問題3(応用)⭐⭐☆
変数scoreに点数が入っています。以下の基準で評価してください:
- 90点以上: S評価
- 80点以上: A評価
- 70点以上: B評価
- 60点以上: C評価
- それ以外: D評価
さらに、評価に応じたメッセージも表示してください。
💡 ヒント
各elifブロックに複数の処理を書けます。
✅ 解答例
Pythonscore = 85 if score >= 90: grade = "S" message = "素晴らしい!" elif score >= 80: grade = "A" message = "よくできました" elif score >= 70: grade = "B" message = "良好です" elif score >= 60: grade = "C" message = "合格です" else: grade = "D" message = "もう少し頑張りましょう" print(f"点数: {score}点") print(f"評価: {grade}") print(message)
実行結果:
点数: 85点
評価: A
よくできました
解説: 各ブロックに複数の処理を書くことで、詳細な出力ができます。
8. まとめ
このレッスンでは、if-elif-else文で複数条件を分岐する方法を学びました。
- if-elif-else文を使うと、3つ以上の条件を順番に判定できます。
- 条件は上から評価され、最初に真になったブロックだけが実行されます。
- 条件の順序を適切に設計することで、判定漏れや重複を防げます。
- 複数段階の評価は、成績判定や料金区分など実務でよく使われます。
- 最後にelseを置くことで、想定外ケースにも対応しやすくなります。