and:複数の条件が同時に成り立つ時
ここからは複数の条件式を組み合わせる方法について学習していきます。複数の条件式を組み合わせるというのは例えば、「条件Aも条件Bも成り立つ場合」というときや、「条件Aか条件Bのどちらかが当てはまる場合」といったことを意味します。
まずはじめに、「条件Aも条件Bも成り立つ場合」というケースをPythonで書く方法を学習します。
このためには「and」という演算子を使います。「and」は「条件A and 条件B」のように条件式と条件式の間に書くことで、その二つの条件式が両方成り立つ場合のみ「True」になるように設定できます。
score = 60
if score < 80 and score >= 40:
print("評価はBです")
or:複数の条件のうちどれかが成り立つ
「or」を使うと「条件Aまたは条件Bが成り立つ」といったことを表現できます。
書き方は「and」と同じで「条件A or 条件B」のように書きます。
color = "blue"
if color == "red" or color == "blue":
print("あなたはAチームです")
上の例ではcolorの値が”red”または”blue”の場合に「あなたはAチームです」と出力されます。
not:条件の否定
「not」を使うことで条件の否定を表すことができます。つまりある条件が成り立たない時に「True」となりif文の中身が実行されるようになります。
書き方は否定したい条件式の前に「not」を書きます。
例えば慎重が140cm以上ではない場合、「ジェットコースターには乗れません」と出力させたい場合、以下のように書きます。
height = 120
if not height >= 140:
print("ジェットコースターには乗れません")
height >= 140という条件式は成り立たないため、この条件式の値は「False」になりますが、前に「not」が付いているため、全体としては「True」になります。
比較の連結
数値の大小を比較するような条件式は「and」を使わずにつなげて書くこともできます。
例えばandの例で示したコードは次のように書き換えることもできます。
score = 60
if 40 <= score < 80:
print("評価はBです")
状況によってはこちらの方が意味が分かりやすいかもしれませんね。
問題
①変数weightが50以上70以下のときに「適正です」と出力してください。
②変数temperature(気温)が10未満または30以上のときに「体調管理に気を付けましょう」と出力してください。
③変数idが12345でないときに「IDが異なります」と出力してください。
weight = 60
#weightが50以上70以下のときに「適正です」と出力してください
temperature = 5
#temperatureが10未満または30以上のときに「体調管理に気を付けましょう」と出力してください
id = 67890
#idが12345でないときに「IDが異なります」と出力してください
答え
weight = 60
if 50 <= weight <= 70:
print("適正です")
temperature = 5
if temperature < 10 or temperature >= 30:
print("体調管理に気を付けましょう")
id = 67890
if not id == 12345
print("IDが異なります")
別解
weight = 60
if weight >= 50 and weight <= 70:
print("適正です")
temperature = 5
if temperature < 10 or temperature >= 30:
print("体調管理に気を付けましょう")
id = 67890
if not id == 12345
print("IDが異なります")
[解説]
①に関しては「and」を使った書き方でも使わない書き方でも挙動は同じになります。
次のステップは 代金を計算させるです
プロフィール
大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで