01 / 06
2つの条件を同時に満たす
「18歳以上かつ65歳未満」のように、条件を2つ重ねたいことがある。そんなときは and でつなぐよ。
and は両方とも成り立つときだけ True になる。片方でも成り立たなければ False だよ。
tosi = 30if tosi >= 18 and tosi < 65: print("いっぱん")実行結果
いっぱん
文法のきほん
INPUT · スライド
01 / 06
「18歳以上かつ65歳未満」のように、条件を2つ重ねたいことがある。そんなときは and でつなぐよ。
and は両方とも成り立つときだけ True になる。片方でも成り立たなければ False だよ。
tosi = 30if tosi >= 18 and tosi < 65: print("いっぱん")実行結果
いっぱん
02 / 06
「土曜または日曜」のように、どちらかが成り立てばいいときは or を使うよ。
or はどちらか一方でも成り立てば True。両方成り立っても True だよ。
youbi = "ど"if youbi == "ど" or youbi == "にち": print("やすみ")実行結果
やすみ
03 / 06
他の多くの言語では && と || という記号を使うけれど、Pythonは and と or という英単語を使う。
if tosi >= 18 and tosi < 65: を声に出して読んでみると、ほとんど英語の文になっているのが分かるはず。読みやすさを大事にするというPythonの考えかたが、ここにも出ているんだ。
print(True and False)print(True or False)実行結果
False True
04 / 06
not は条件をひっくり返すよ。True は False に、False は True になる。
便利だけれど、使いすぎると読みにくくなる。not x == 5 より x != 5 のほうがすっきりするよね。反対の条件が素直に書けるなら、そちらを選ぼう。
print(not True)zaiko = 0if not zaiko > 0: print("うりきれ")実行結果
False うりきれ
05 / 06
「x が 1 か 2 のとき」を if x == 1 or 2: と書きたくなるけれど、これは思ったとおりに動かない。
Pythonは (x == 1) or (2) と読んでしまうので、x が何であっても成り立ってしまうんだ。or の左右にはそれぞれ完全な条件を書く必要があるよ。
x = 5if x == 1 or x == 2: print("1か2")else: print("ちがう")実行結果
ちがう
06 / 06
「10以上20以下」は、実は 10 <= x <= 20 とそのまま書ける。数学の書きかたと同じだね。
これができる言語はめずらしい。10 <= x and x <= 20 と書いてもいいけれど、Pythonらしいのは前者だよ。
x = 15if 10 <= x <= 20: print("はんいない")実行結果
はんいない