Python:条件式
条件式
条件式はif文などの条件分岐に使われます。if文はこちらの記事で詳しく説明していますので、ご参考までに。
条件式は真か偽か判定し、TrueやFalseといった真偽値(bool型)に置き換わります。もし、if文の中の条件式が真偽値Trueに置き換わるとifブロックが実行され、真偽値Falseに置き換わるとelseブロックが実行されます。
比較演算子
条件式を作るときによく用いられるのが、比較演算子です。
比較演算子の条件が成立するとTrue、成立しないとFalseに置き換わります。
比較演算子 | 説明 |
---|---|
== | 両辺が等しい |
!= | 両辺が等しくない |
< | 右辺が左辺より大きい |
> | 左辺が右辺より大きい |
<= | 右辺が左辺以上 |
>= | 左辺が右辺以上 |
a = "パパイヤ"
b = "ぱぱいや"
if a != b :
print(a+"と"+b+"は等しくない")
else :
print(a+"と"+b+"は等しい")
パパイヤとぱぱいやは等しくない
上のコードでは、if文の条件式が成り立ち、ifブロックが実行されました。
#3の2乗と2の3乗の関係を調べるプログラム
a = 3**2
b = 2**3
if a == b :
print("3の2乗と2の3乗は等しい")
elif a < b :
print("3の2乗より2の3乗のほうが大きい")
elif a > b :
print("3の2乗より2の3乗のほうが小さい")
3の2乗より2の3乗のほうが小さい
上のコードでは、a > bが成り立ち、一番下のelifブロックが実行されました。
論理演算子
論理演算子を使うことで、複数の条件を組み合わせて一つの条件式を作ることができます。
論理演算子 | 説明 |
---|---|
or | または:どちらかがTrueなら成立 |
and | かつ:どちらもTrueなら成立 |
num = input("数字を打ってください>>")
num = int(num)
if num % 2 == 0 and num % 3 == 0 :
print("その数字は6の倍数です。")
elif num % 2 == 0 or num % 3 == 0 :
print("その数字は2か3で割り切れます。")
else :
print("その数字は2でも3でも割り切れません。")
数字を打ってください>>12
その数字は6の倍数です。
数字を打ってください>>8
その数字は2か3で割り切れます。
数字を打ってください>>5
その数字は2でも3でも割り切れません。
上のコードでは、ifブロックは2で割り切れるかつ3で割り切れる場合に実行、elifブロックは2で割り切れるまたは3で割り切れる場合に実行、ifブロックもelifブロックも条件が成り立たない場合はelseブロックが実行されます。
練習問題
では、これまでの内容をもとに次のプログラムを作ってみましょう!
- 0点以上100点未満の得点を入力して、50点未満なら"次は頑張ろう!"と出力、50点以上70点未満なら"次は高得点!"と出力、70点以上なら"よく頑張りました"と出力。
また、ぞろ目が出たら"今日はいいことありそう!"と出力、7のぞろ目なら"次のテストは100点間違いなし!"と出力
解答例※あくまで一例です。
(1)
score = input("点数を入力>>")
score = int(score)
if 0 <= score and score <= 100 :
if score < 50 :
print("次は頑張ろう!")
elif score < 70 :
print("次は高得点!")
else :
print("よく頑張りました")
if score % 11 == 0 and score % 7 == 0 :
print("次のテストは100点間違いなし!")
elif score % 11 == 0 :
print("今日はいいことありそう!")
else :
print("0点以上100点以下の点数を入れてください")
点数を入力>>22
次は頑張ろう!
今日はいいことありそう!
点数を入力>>77
よく頑張りました
次のテストは100点間違いなし!
点数を入力>>92
よく頑張りました
最後に
この記事では、Pythonでの条件式の扱い方を解説しました。
もっとPythonを学びたい!という方はこちらの記事でPythonの基本的な構文を学習することが出来ますのでぜひ立ち寄ってみてください!