文法のきほん

INPUT · スライド

条件を組み合わせる

01 / 06

2つの条件を同時に満たす

「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は andor という英単語を使う。

if tosi >= 18 and tosi < 65: を声に出して読んでみると、ほとんど英語の文になっているのが分かるはず。読みやすさを大事にするというPythonの考えかたが、ここにも出ているんだ。

print(True and False)print(True or False)

実行結果

False
True

04 / 06

not で反対にする

not は条件をひっくり返すよ。TrueFalse に、FalseTrue になる。

便利だけれど、使いすぎると読みにくくなる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

Pythonだけの書きかた

「10以上20以下」は、実は 10 <= x <= 20 とそのまま書ける。数学の書きかたと同じだね。

これができる言語はめずらしい。10 <= x and x <= 20 と書いてもいいけれど、Pythonらしいのは前者だよ。

x = 15if 10 <= x <= 20:    print("はんいない")

実行結果

はんいない