True/False
コンピュータは電気が流れている(ON)、流れていない(OFF)の仕組みをベースに動いています。プログラミング言語もその原理が活かされており、ON/OFFに代わりTrue/Falseで表します。例えば、次の命令を実行するとTrueと表示されます。
1 |
print( 5 > 1) |
また次の命令はFalseと表示されます。
1 |
print( 5 > 7) |
これは条件が成立する時((5 > 1)はTrue(真)、成立しない時(5 > 7)はFalse(偽)となるのです。
論理演算
次の命令でTrue/Falseを計算(論理演算)できます。
演算子 | 内容 | 例 |
---|---|---|
or | X or Y XまたはYがTrueならTrue |
True or True:True True or False:True False or True: True False or False:False |
and | X and Y XとYがTrueならTrue |
True and True:True True and False:False False and True: False False and False:False |
not | not X XがTrueならFalse,FalseならTrue |
not True:False not False:True |
条件に利用
論理演算は条件に利用できます。例えば次のプログラムはhensu1が3より大きくかつhensu2が10より大きい場合に「OK」と表示されます。
1 2 3 4 5 6 |
hensu1 = 10 hensu2 = 12 if hensu1 > 3: if hensu2 > 10: print("OK") |
論理演算を使うと次のようになります。
1 2 3 4 5 |
hensu1 = 10 hensu2 = 12 if hensu1 > 3 and hensu2 > 10: print("OK") |
4行目のhensu1 > 3は成立するのでTrue、hensu2 > 10も成立するのでTrue、結果「True and True」が計算されTrue(条件成立)となります。
このように論理演算はif命令のネストを削減する効果があります。ただ複雑な論理演算(x > 10 and y < 3 or z == 10とか)を記述すると難解になってしまうので注意が必要です。