今回やること
比較演算子は2つの値を比べて True または False を返し、and、or、not はその条件を組み合わせます。= は代入、== は等しいかの比較なので役割が違います。
if文では、条件が正しいかどうかを判定します。
比較演算子は値を比べ、論理演算子は条件を組み合わせます。
今回は、==、!=、and、or、not を練習します。
値を比較する
score = 80
print(score >= 60)
print(score < 60)
print(score == 80)
print(score != 100)
結果は True または False になります。
数値と型変換の前提は Pythonの数値計算 で確認できます。比較結果を if で使う基本は Python入門 #3 - if文とfor文 で扱います。
andを使う
score = 80
attendance = 90
if score >= 60 and attendance >= 80:
print("合格です")
and は、両方の条件が正しいときだけ True です。
orを使う
has_ticket = False
is_member = True
if has_ticket or is_member:
print("入場できます")
or は、どちらか一方が正しければ True です。
| 左の条件 | 右の条件 | and | or |
|---|---|---|---|
True | True | True | True |
True | False | False | True |
False | True | False | True |
False | False | False | False |
notを使う
is_absent = False
if not is_absent:
print("出席しています")
not は、条件を反対にします。
よくあるエラー
| エラー | 原因 | 修正 |
|---|---|---|
= を使う | 代入になっている | 比較は == |
| 条件が読みにくい | 一行に詰め込みすぎ | 変数に分ける |
and と or を混同 | 条件の意味が違う | 日本語で先に書く |
練習
- 点数が80以上なら「優秀」と表示する
- 点数60以上かつ出席80以上で合格にする
- 会員またはクーポンありなら割引にする
notを使って欠席でない場合を判定する
次のステップ
繰り返し処理は Pythonのwhile文 に進んでください。