and 演算子とは?(初心者向けイメージ)
and =「〜 かつ 〜」
2つ以上の条件があって、
全部が OK のときだけ True(正しい)になる、というルール。
たとえば…
- 「宿題した」 かつ 「部屋を片付けた」 → ゲームしてOK
- 「お金がある」 かつ 「お店が開いてる」 → 買い物できる
どちらか一つでもダメなら、全体としてはダメ(False)。
そのまんま、プログラミングでも同じ考え方。
基本の形
条件1 and 条件2
Python→ 両方 True のときだけ True。
真理値(True/False)の一覧
| 条件1 | 条件2 | 条件1 and 条件2 |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
簡単な例題 ①
「年齢が 10 歳以上 かつ 身長が 120cm 以上なら乗り物に乗れる」
age = 11
height = 125
if (age >= 10) and (height >= 120):
print("乗れます!")
else:
print("乗れません。")
Pythonどうなる?
- age >= 10 → True
- height >= 120 → True
- True and True → True → 乗れます!
例題 ② 条件の一部が False の場合
age = 12
height = 110
if (age >= 10) and (height >= 120):
print("乗れます!")
else:
print("乗れません。")
Python判定
- age >= 10 → True
- height >= 120 → False
- True and False → False → 乗れません。
例題 ③ 範囲チェックで使う(とてもよく使う!)
「0〜100 点の範囲に入っているか?」
score = 78
if (0 <= score) and (score <= 100):
print("正しい得点です")
else:
print("得点の値がおかしいです")
Python「0 以上かつ 100 以下」
これはデータチェックでめちゃくちゃ使われる。
例題 ④ 暗証番号チェック
「暗証番号が正しい かつ ロック状態じゃない」
pin = 1234
lock = False # False → ロックされてない
if (pin == 1234) and (lock == False):
print("ログイン成功")
else:
print("ログインできません")
Python初心者がつまずきやすいポイント
and と & は違う!
and→ 論理演算(True/False 用)&→ ビット演算(数値同士で使う)
初心者はほぼ and しか使わないので、
「数字の &」は気にしなくて大丈夫!
練習問題(やってみよう!)
問題 1
年齢 age = 15、身長 height = 130
「14 歳以上 かつ 120cm 以上なら入場できる」
プログラムを書いてみよう。
問題 2
変数 x = 25 が「20 以上 かつ 30 以下」か判定せよ。
問題 3
ユーザー名が "halu" で、
パスワードが "12345" のときだけログイン成功と表示せよ。
解答(わかりやすく解説付き)
解答 1
age = 15
height = 130
if (age >= 14) and (height >= 120):
print("入場できます!")
else:
print("入場できません")
Python→ 両方 True なので入場できる。
解答 2
x = 25
if (20 <= x) and (x <= 30):
print("範囲内です")
else:
print("範囲外です")
Python→ 0〜100 のときと同じ“範囲チェック”のパターン。
解答 3
user = "halu"
password = "12345"
if (user == "halu") and (password == "12345"):
print("ログイン成功")
else:
print("ログイン失敗")
Python→ 文字列同士の比較でも and は普通に使える。
まとめ
andは 両方 True のときだけ True- 条件を組み合わせて「〜かつ〜」を表す
- 範囲チェックやデータチェックでよく使う
- 初心者は
andだけ覚えておけば OK!
