18.論理演算子

「論理演算子」は

比較の結果同士を加算した結果を返します。

幾つかの条件を組み合わせる場合には必ず用いる方法です。

論理演算子 としては 3つしかありません。
and
or
not

and

and は条件と条件をつなげます。
日本語だと かつ という意味合い

条件A and 条件B

条件が双方が True の場合に True 
どちらか一方でもFalseなら結果がFalseになります。

and の左側と右側の両方の条件を満たしていないと
Trueにはなりません。

In [1]:
# 二つの条件がTrue
print(True and True)

# 片方の条件がFalse
print(True and False)
print(False and True)

# 両方の条件がFalse
print(False and False)
True
False
False
False
In [2]:
# 数値型での例
print(1==1 and 2==2)
print(1==1 and 2==1)
True
False

男性、20代の人のような複数の条件を満たす判定を
行いたいような時に使います。

In [3]:
a , b = 20 , '男性'
print(a==20 and b == '男性')
True

or

orの左側と右側、どちらかの条件がTrueであればTrueを返します。
日本語の意味だと もしくは という意味合いです。

条件A or 条件B

両方満たしていればTrue
どちらか一方でも合っていればTrueが返ってきます。
両方の条件を満たせない場合のみFalseが返ってきます。

In [4]:
# 二つの条件がTrue
print(True or True)

# 片方の条件がFalse
print(True or False)
print(False or True)

# 両方の条件がFalse
print(False or False)
True
True
True
False
In [5]:
# 両方の条件を満たす場合
a , b = 20 , '男性'
print(a==20 or b == '男性')

# どちらかの条件を満たす場合
a , b = 20 , '男性'
print(a==30 or b == '男性')

# 両方の条件を満たさない場合
a , b = 20 , '男性'
print(a==30 or b == '女性')
True
True
False

not

否定する意味合いになり、結果をひっくり返します。

True はFalseに 、 FalseはTrueにします。

In [6]:
# 含む場合
d = '男性'
print('男'  in d)
True
In [7]:
# 含まれないとしたい場合
d = '男性'
print('男'  not in d)
False

プログラムの中での制御は比較演算子と論理演算子を組み合わせて
どう処理を分岐させるか、続けさせるのかを組み上げていきますので
論理演算子の使い方も覚えておきましょう。