今回は、前回学んだpythonのbool(論理型)を使った
and or notの使い方を学んできましょう。
このand or notはpythonでif文を使うときの「複雑な分岐」のときに活躍します。
単純な分岐であれば、式を一つ書いて終わりですが、
例えば、「Aが真だが、Bが偽である」この場合に判定をTrueとしたい場合、
orを使わないと実現できません。
pythonで複雑な条件分岐をしたい場合は必須だと思ってもらえればOKです。
そんな複雑な分岐に使えるpythonの【and or not 】を学んでいきましょう。
Youtubeチャンネルにさまざまな動画を上げています。
↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓
and or notをpythonで使うシチュエーション
冒頭でも例を出しましたが、
使用するシチュエーションは、複雑な分岐を行うときです。
簡単な判定、例えば、1が3より小さいか。
の判定は、
print(1<3)
こんな感じです。
結果としては、Trueが返ってきます。
それでは変数を使用して少々複雑にしてみましょう。
判定する内容としては、
xが3より大きいかつ、yが2で割り切れる場合はTrueとしてみます。
x=10 y=8 print(x>3 and y%2==0)
これで判定できます。
Point
2つの条件のどちらも満たしたときにTrueを返すandを使用しています。
y%2==0ですが、
=を2つ入れている理由は、pythonの場合、
左辺と右辺が等しいかの判定は==を使用するためです。
変数の記事でも説明しましたが、
「=」は、左辺に右辺を代入。という意味なので、
判定の時は必ず==を入れないとエラーになります。
慣れの問題なのですが、大事なところなので注意しましょう。
このように複数の判定に使用します。
それではand or notの詳しい使い方を一緒に学んでいきましょう。
pythonでand or not を使う方法
pythonでandを使う方法
まず初めにandの使い方です。
andは、先ほど例で挙げたように
andでつなげた条件すべてが真(True)であった場合にTrueが出力されます。
逆に、andでつなげた条件の中で、1つでも偽(False)が入っているとFalseが出力されます。
先ほどの例に1つ条件を足してみましょう。
x=10 y=8 z=2 print(x>3 and y%2==0 and z>100)
この場合、zは100より当然小さいので、
最後のzの判定のみFalseになります。
andですべて繋いでいますので、この例では最終的にFalseが出力されます。
全てTrueでないと次の動作に移ってほしくない場合に、
この分岐で弾いたりします。
pythonでorを使う方法
次にorの使い方です。
orは、条件の中でどれか1つでも真(True)がいれば、Trueを出力されます。
条件の中に1つも真(True)がいない場合はFalseを出力します。
先ほどの例をorに書き換えてみましょう。
x=10 y=8 z=2 print(x>3 or y%2==0 or z>100)
判定の左と真ん中はTrueなので、結果はTrueが出力されます。
逆に、すべてFalseになる条件にしてみるとこんな感じです。
x=10 y=8 z=2 print(x<3 or y%2==1 or z>100)
真(True)となる条件が1つもないので出力結果はFalseです。
全ての条件がFalseなのは困るけど、どれか1つでもTrueになれば、
次の処理に進んでほしいときに使用したりします。
python でnotを使う方法
最後にnotの使い方です。
notというだけあって、条件の否定に使います。
具体的には、Trueである条件をFalseに
Falseである条件をTrueに変更します。
簡単な例を1つ挙げるとこんな感じです。
print(not 1<3)
3は1より大きいですが、この場合ではFalseが出力されます。
notによってTrue⇒Falseに変更されています。
複雑な処理でも使用することができます。
orで使用した最後の例を、notを使ってTrueにしてみましょう。
x=10 y=8 z=2 print(not x<3 or not y%2==1 or not z>100)
これでTrueが出力されます。
もちろん、最終的な判定のみをnotで反転させることも可能なので、
このようにしてもTrueを出力させられます。
x=10 y=8 z=2 print(not(x<3 or y%2==1 or z>100))
Point
条件をまとめてnotで反転させたい場合は、
not( )としてかっこの中に条件をすべて入れましょう。
notは、ある条件以外の時は処理を続行させたいときなどに使用されます。
ただ、notが増えてくると見栄えが悪くなってきます。
orの例の条件のすべてにnotを付けた例のように、
notだらけになって見づらいのがその例です。
使いすぎに注意しましょう。
まとめ
今回は、前回までに学んだ論理型(bool)の複雑な処理に使える
and or notについて学びました。
if文を使用する際、複雑になってくればなるほど
必須となる知識です。
今のうちからマスターしておきましょう。
コメント