Pythonのif-elif-else文の紹介
メニューを表示するにはスワイプしてください
if-elif-else文は、Pythonで複数の条件を判定し、どの条件が真であるかに応じて異なるコードブロックを実行できる強力な構造。複数の条件を評価し、そのうちの1つだけのコードブロックを実行したい場合に特に有用。
複数の条件から選択する必要がある場合、複数のelif文よりもifの使用が推奨される。elifを使うことで、いずれかの条件が満たされた時点で残りの条件の評価がスキップされ、効率が向上する。対照的に、複数のif文を使うとすべての条件が独立して評価されるため、不要なチェックや冗長なコードにつながる可能性がある。
ユーザーの睡眠時間を追跡し、それを異なる範囲に分類する例。ユーザーが睡眠目標を達成したか、目標に近いか、さらに休息が必要かを判定する。
1234567891011hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") if hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") if hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") if hours_slept < sleep_goal - 2: print("You need more rest. Try to sleep a bit longer tonight.")
このバージョンでは、すべての条件が独立して評価され、いずれかの条件がすでに真であっても他の条件も判定される。そのため、冗長なチェックが発生する。例えば、ユーザーがすでに目標を達成している場合でも、目標に近いか、さらに休息が必要かどうかも判定される。
1234567891011hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") elif hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") elif hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") else: print("You need more rest. Try to sleep a bit longer tonight.")
elif を使用することで、コードの可読性と効率性が向上します。一度条件が満たされると、それ以降の条件はチェックされません。
この図は、Python における if-elif-else の意思決定構造の流れを視覚化したものです。プロセスは最初の if 条件の評価から始まります。
- 最初の条件が true の場合、
ifブロック内のコードが実行されます。 - 最初の条件が false の場合、次の条件である
elifに進みます。elif条件が true の場合、対応するelifブロックが実行されます。 - 最初の
elifが false の場合、さらに別のelifをチェックでき、その条件が true であれば、そのコードブロックが実行されます。 - すべての
ifおよびelif条件が満たされない(すべて false の)場合、最後のelseブロックが実行され、必ずいずれかのコードブロックが実行されます。
この流れにより、最初に真となる条件のみが実行され、複数の条件を効率的に処理できます。if-elif-else 構造は冗長なチェックを避け、全体の中で一つのコードブロックだけが実行されます。
1. 複数のif-elif-else文の代わりにifを使用する利点は何ですか?
2. 次のコードから何が出力されますか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください