Pythonにおける論理演算子
メニューを表示するにはスワイプしてください
前回は、if文で単一の条件を扱うケースについて学習しました。今回は、複数の条件を評価する必要がある場合について説明します。
ネストされたif文
一つの方法として、以下の例のようにネストされたif文を使用することが挙げられます。
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
しかし、ネストされたif条件に過度に依存することは、推奨される方法ではありません。経験豊富な開発者は、条件をネストする代わりに論理演算子を使用することを好みます。
論理演算子の使用
論理演算子を使うことで、複数の条件をより効率的に組み合わせることができます。
Python言語には、not、and、orの3つの論理演算子があります。
12345steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
not演算子
notは1つの条件に適用され、その値を反転させる。
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
注意
Pythonの構文では、各「空」の値はFalseと等価であり、任意の「空でない」値はTrueと等価です。例:
- 0はFalse、1はTrue;
- []はFalse、[1]はTrue;
- ""はFalse、"a"はTrue;
- など。
論理積(and)
andによる条件は、両方の条件がTrueの場合のみ成立。
123456steps_taken = 8000 calories_burned = 600 hydration_level = 2 if steps_taken >= 5000 and calories_burned >= 500 and hydration_level >= 2: print("Amazing! You've achieved all your fitness goals for the day.")
論理演算子 or
or を使った条件は、指定された2つ以上の条件のうち少なくとも1つが True であれば成立します。
小さな達成を祝いたい場合を考えます。目標のうち少なくとも1つを達成した場合、モチベーションを高めるメッセージを表示します。
123456steps_taken = 8000 calories_burned = 200 hydration_level = 2 if steps_taken >= 10000 or calories_burned >= 500 or hydration_level >= 2: print("Great job! You're making progress on your fitness journey.")
ここでは、hydration_level が条件を満たしているため、if 文が実行されます。or 演算子では、いずれか一方の条件が True であれば十分であることに注意してください。
1. フィットネストラッカーアプリで、ユーザーが1日の歩数目標とカロリー目標を達成したかどうかを確認したい場合、どの論理演算子を使用すべきですか?
2. ユーザーが少なくともどちらか一方のフィットネス目標を達成したかどうかを確認するには、どうすればよいですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 4