if文中に真偽型演算子だけを使った判断分岐が多くある場合に,if文の中に複数のif文を作成しなくてはならくなり,見た目が悪く,後からプログラムが解らなくなる原因になります.複数の真偽型演算子を比べ真偽を判定する論理型演算子(Boolean)を使うことでif文を減らすことができます。本記事では論理演算子について解説していきます.
スポンサーリンク
論理演算子て何
・複数の真偽型演算子を比べ真偽を判定するものを論理型演算子(Boolean)と言います.
if文と真偽型の演算子を組み合わせて,プログラムが分岐することができましたが、条件判断のたびにif文を増やすことになります.例えば収縮血圧が120より大きく,拡張血圧が80より大きい,どちらかの条件を満たせば高血圧,それ以外は正常値です.このような条件判断を真偽型の演算子だと2回ifを使って判定しなくてはなりませんが論理演算子を使えば一回の判定ですみます.下記に両者のフロー図を記載します.
・論理演算子を使うと1回で条件判断ができていることが解ります.
真偽型演算子の一例
a == b # a と b が等しい
a <= b # a は b以下
論理型演算子(Boolean)
・a is not b # a と bの真偽判定が異なれば真
a | b | 判定 |
True | True | False |
True | False | True |
False | True | True |
False | False | False |
・a and b # a も b も真であれば真
a | b | 判定 |
True | True | True |
True | False | False |
False | True | False |
False | False | False |
・a or b # a と b どちらかが真であれば真
a | b | 判定 |
True | True | True |
True | False | True |
False | True | True |
False | False | False |
・not a # a が偽であれば真(aの真偽を反転させる)
a | 判定 |
True | False |
False | True |
・a, b は文字列,または,b はリストやタプル
a in b # a が b に含まれる
a not in b # a が b に含まれない
[IN]リスト中にpythonが含まれているときに,どう判断しているか確認してみましょう.
a="python"
b=["python","anaconda"]
print("論理演算子","判定 ")
print(" in ", a in b )
print(" not in ", a not in b )
[OUT]
論理演算子 判定
in True
not in False
論理型演算子を使ったプログラム
・血圧を測定して高血圧か正常かを判断するプログラムを考えます.収縮血圧が120より大きく,拡張血圧が80より大きいのどちらかの条件を満たせば高血圧とします.これ以外は正常値とします.下図にフロー図を載せておきます.
[IN]
Sbp = 119 #収縮血圧(Systolic blood pressure)
Dbp = 81 #拡張血圧(Diated blood pressure)
if (Sbp > 120) or (Dbp > 80) : # a と b どちらかが真であれば真
print("高血圧")
else:
print("正常")
・論理演算子でorを使いました.これは2つの条件でどちらかが条件を満たしていれば真(True)となります.
[OUT]
高血圧
論理演算子を上手く使えればプログラムがスッキリして,非常に見やすくなります是非この機会に覚えてみましょう.
スポンサーリンク
コメント