python逻辑运算符

a 夏天 提交于 2019-12-20 21:01:02

1.逻辑运算符

作用:用来做逻辑计算的,用来判断的表达式或者变量,运算得到的结果为布尔值

分类:and (逻辑与)   or (逻辑或)    not(逻辑非)

注意:逻辑运算符可能会出现短路原则【出现在复杂的表达式中,一般会出现在面试题中,在实际开发中,一般逻辑运算符不要超过三个】

例子:逻辑与

表达式1 and 表达式2

True and True = True 

True and False = False

False and False =False

False and True = False

规律:全真为真,一假为假

如果表达式1为假,则没有必要判断表达式2,可以得到结果为假

num1=10

num2=20

 

if num -10 and num2:

       print("yes")

else:

      print("no")

例子2:

只有当用户名和密码同时正确【admin,123456】,才表示登录成功

username = input("请输入用户名:")

password = input("请输入密码:")

 

方式一:嵌套if语句

if username == "admin":

     if password == "123456":

        print("登录成功")

     else:

        print("密码输入错误")

 else:

   print("用户名输入错误")

 

方式二:逻辑and

只有两个条件同时成立的情况下,才表示用户身份验证成功

 if username == "admin" and password == "123456":

     print("登录成功")

 else:

     print("用户名或者密码错误")

 

2.逻辑或

表达式1 or 表达式2

真 or 真 = 真

真假为真

假假为假

规律:一真为真,全假为假

 

如果表达式1为True,则可以忽略表达式1的值,得到的结果为True

 if num1 - 10 or num2:

   print("yes")

 else:

     print("no")

 

 

 #练习:如果明天的天气好【要么有太阳,要么有风】,咱们出去玩

 sunny = "no"

 wind = "yes"

 

 #注意:在条件判断的时候,使用and还是or,区别就在于条件成立的几率

 if sunny == "yes" or wind == "yes":

     print("我们出去玩")

 else:

     print("学习")

 

 

逻辑非

 

not 表达式

例子:

#.输入三个数,输出最大数

num1 = int(input("请输入第一个数字:"))

num2 = int(input("请输入第二个数字:"))

num3 = int(input("请输入第三个数字:"))

#定义自定义变量,用于保存最大值

maxValue =num1

#2.比较加上的最大值和num之间的大小

if num2 > num1:

#给maxValue重新赋值

maxValue = num2

#比较maxvalue和num3之间的大小

if maxValue < num3:

maxValue = num3

print(maxValue)

 

 

注意:逻辑运算符可能会出现短路原则【出现在复杂的表达式中,一般会出现在面试题中,在实际开发中,一般逻辑运算符不要超过3个】

>

> ```Python

> #1.and:如果运算符全部是and,第一个表达式的值为False,则整个表达式的值为False,其他的表达式都会被短路

> def a():

>     print("A")

>     return  False

> def b():

>     print("B")

>     return  True

> def c():

>     print("C")

>     return  False

> def d():

>     print("D")

>     return  True

> def e():

>     print("E")

>     return  True

>

> #False and False and True and False and True  ----->False

> if a() and b() and c() and d()and e():

>     print("ok-----111")

>

> #2.and,第一个表达式的值为True,则不遵循短路原则

> def a():

>     print("A")

>     return  True

> def b():

>     print("B")

>     return  True

> def c():

>     print("C")

>     return  False

> def d():

>     print("D")

>     return  False

> def e():

>     print("E")

>     return  True

>

> #True and True and False and False and True

> #True and False and False and True   ---->A B

> #False  and False and True        ----->C

> #False

> if a() and b() and c() and d() and e():

>     print("ok-----22222")

>

> #3.or:第一个表达式的值为False,则不遵循短路原则

> def a():

>     print("A")

>     return  False

> def b():

>     print("B")

>     return  True

> def c():

>     print("C")

>     return  False

> def d():

>     print("D")

>     return  False

> def e():

>     print("E")

>     return  True

>

> #False or True or False or False or True

> #True  or False or False or True   ------>A B

> #True

> if a() or b() or c() or d() or e():

>     print("ok-----3333")

>

> #4. or:第一个表达式的值为True

> def a():

>     print("A")

>     return  True

> def b():

>     print("B")

>     return  True

> def c():

>     print("C")

>     return  False

> def d():

>     print("D")

>     return  False

> def e():

>     print("E")

>     return  True

>

> #True or True or False or False or True

> #True    ----->A

> if a() or b() or c() or d() or e():

>     print("ok-----4444")

>

> print("~~~~~~~~~~~~")

>

> #5.and和or混合使用

> def a():

>     print("A")

>     return  True

> def b():

>     print("B")

>     return  True

> def c():

>     print("C")

>     return  False

> def d():

>     print("D")

>     return  False

> def e():

>     print("E")

>     return  True

> def f():

>     print("F")

>     return False

>

> #True and True and False or False and True or False

> #True  and False or False and True or False     ---->A B

> #False  or False and True or False  ---->C

> #False  and True or False  --------->D

> #False or False  ---->F,e被短路

#False

 if a() and b() and c() or d() and e() or f():

    print("ok------5555")

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!