Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonにおける論理演算子 | Pythonのif文をマスターする
Pythonの制御フロー

bookPythonにおける論理演算子

メニューを表示するにはスワイプしてください

前回は、if文で単一の条件を扱うケースについて学習しました。今回は、複数の条件を評価する必要がある場合について説明します。

ネストされたif文

一つの方法として、以下の例のようにネストされたif文を使用することが挙げられます。

123456
steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
copy

しかし、ネストされたif条件に過度に依存することは、推奨される方法ではありません。経験豊富な開発者は、条件をネストする代わりに論理演算子を使用することを好みます。

論理演算子の使用

論理演算子を使うことで、複数の条件をより効率的に組み合わせることができます。
Python言語には、notandorの3つの論理演算子があります。

12345
steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
copy

not演算子

notは1つの条件に適用され、その値を反転させる。

1234
steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
copy
Note
注意

Pythonの構文では、各「空」の値はFalseと等価であり、任意の「空でない」値はTrueと等価です。例:

  • 0はFalse、1はTrue;
  • []はFalse、[1]はTrue;
  • ""はFalse、"a"はTrue;
  • など。

論理積(and)

andによる条件は、両方の条件がTrueの場合のみ成立。

123456
steps_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.")
copy

論理演算子 or

or を使った条件は、指定された2つ以上の条件のうち少なくとも1つTrue であれば成立します。

小さな達成を祝いたい場合を考えます。目標のうち少なくとも1つを達成した場合、モチベーションを高めるメッセージを表示します。

123456
steps_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.")
copy

ここでは、hydration_level が条件を満たしているため、if 文が実行されます。or 演算子では、いずれか一方の条件が True であれば十分であることに注意してください。

1. フィットネストラッカーアプリで、ユーザーが1日の歩数目標とカロリー目標を達成したかどうかを確認したい場合、どの論理演算子を使用すべきですか?

2. ユーザーが少なくともどちらか一方のフィットネス目標を達成したかどうかを確認するには、どうすればよいですか?

question mark

フィットネストラッカーアプリで、ユーザーが1日の歩数目標とカロリー目標を達成したかどうかを確認したい場合、どの論理演算子を使用すべきですか?

正しい答えを選んでください

question mark

ユーザーが少なくともどちらか一方のフィットネス目標を達成したかどうかを確認するには、どうすればよいですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  4
some-alt