当前位置:   article > 正文

17. Python 逻辑运算_当逻辑运算符两边表达式的值都为真时,该逻辑表达式才为真,这叫逻辑运算

当逻辑运算符两边表达式的值都为真时,该逻辑表达式才为真,这叫逻辑运算

17. 逻辑运算

1. 什么是逻辑运算

在布尔类型章节我们说过数学家乔治.布尔在符号逻辑运算中做出过特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,并将其结果称为布尔值。

那什么是逻辑运算呢?

举例说明:假设18周岁以上并且70周岁以下的公民可以报考驾照。

那报考驾照需要同时满足2个条件:
一是age >= 18
二是age <= 70

【定义】

类似这样的,对多个条件进行判断的运算就叫逻辑运算。

【返回值】

逻辑运算的结果是布尔类型的数据,即True或False。

【3种逻辑运算符

  1. and(并且)
  2. or(或者)
  3. not(非)

在这里插入图片描述

【备注】上述图片来自夜曲编程。

【计算顺序】

逻辑运算也是一种数学运算,只要是数学运算就有计算顺序。
例如我们常用的先乘除后加减就是一种计算顺序。

在逻辑运算中,优先计算逻辑运算符左右两边的表达式,然后再进行逻辑运算。

2. and-逻辑与运算

【含义】

and运算符表示“并且”的意思。

【运算规则】

只有and左右两边的布尔值均为True时,运算结果才为True。
其它情况下,运算结果都为False。

【语法提示】

逻辑运算符and前后均需要有一个空格

【记忆口诀】

两个为真才为真。

【代码示例】

print(True  and True)
print(True  and False)
print(False and True)
print(False and False)
  • 1
  • 2
  • 3
  • 4

【终端输出】

True
False
False
False
  • 1
  • 2
  • 3
  • 4

观察输出结果,发现在进行逻辑与计算时,只有运算符左右两边的布尔值都为True,结果才为True。

【课堂练习】

猜一猜下面的代码的运行结果:

print(2>0 and 5>0)
print(2>0 and 5<0)
print(2<0 and 5>0)
print(2<0 and 5<0)
  • 1
  • 2
  • 3
  • 4

【终端输出】

True
False
False
False
  • 1
  • 2
  • 3
  • 4

【答案解析】

在逻辑运算中,优先计算逻辑运算符左右两边的表达式,然后再进行逻辑运算。
因此我们要先计算大于和小于的比较运算。

  1. 先计算左边两边的表达式

第一行代码中:
左边表达式 2 > 0成立,布尔值为True。
右边表达式 5 > 0成立,布尔值为True。

  1. 再进行逻辑运算

True and True ,左右两边都为真,则第一行代码逻辑运算结果为True。

在逻辑与计算中,只有两边的值都为True,结果才为True。

在这里插入图片描述

3. or-逻辑或运算

【含义】

or运算符表示“或者”的意思。

【运算规则】

只有or左右两边的布尔值均为False时,运算结果才为False。
其他情况下运算结果就为True。

【语法提示】

逻辑运算符or前后均需要有一个空格

【记忆口诀】

两个为假才为假。

【代码示例】

print(True  or True)
print(True  or False)
print(False or True)
print(False or False)
  • 1
  • 2
  • 3
  • 4

【终端输出】

True
True
True
False
  • 1
  • 2
  • 3
  • 4

观察输出结果,发现在进行逻辑或计算时,只有运算符左右两边的布尔值都为False,结果才为False。

【课堂练习】

print(2>0 or 5>0)
print(2>0 or 5<0)
print(2<0 or 5>0)
print(2<0 or 5<0)
  • 1
  • 2
  • 3
  • 4

【终端输出】

True
True
True
False
  • 1
  • 2
  • 3
  • 4

【答案解析】

在逻辑运算中,优先计算逻辑运算符左右两边的表达式,然后再进行逻辑运算。
因此我们要先计算大于和小于的比较运算。

  1. 先计算左边两边的表达式

第一行代码中:
左边表达式 2 > 0成立,布尔值为True。
右边表达式 5 > 0成立,布尔值为True。

  1. 再进行逻辑运算

True or True ,左右两边都为真,则第一行代码逻辑运算结果为False。
在逻辑与或计算中,只有两边的值都为False,结果才为False。

在这里插入图片描述

4. not-逻辑非

【含义】

not运算符表示“非”的意思。

【运算规则】

not运算符只运算一个布尔值,表示取这个布尔值的反值。

not True 运行结果是False。
not False运行结果是True。

【语法提示】

逻辑运算符not后需要有一个空格

【代码示例】

print(not True)
print(not False)
  • 1
  • 2

【终端输出】

False
True
  • 1
  • 2

进行逻辑非的计算时,运算符右边的布尔值为True,则输出结果为false,右边的布尔值为false,则输出结果为True。

5. 逻辑运算符的优先级

1.比较运算符优先于逻辑运算符。
2.逻辑运算符中not >and >or,即先计算not,再计算and,最后计算or

【体验代码】

print ( True or True  and  False  != True )
  • 1

【终端输出】

True
  • 1

在这里插入图片描述

6. 总结

在这里插入图片描述

7. 课后练习

  1. 编写代码:定义变量a = 5, 输出“a大于0或者a小于0”的布尔值:

【参考答案】

a = 5 
print(a>0 or a<0)
  • 1
  • 2

【终端输出】

True
  • 1
  1. 编写代码:小明今年15岁,用逻辑运算判断小明今年能否学驾照:

【参考答案】

age = 15 
print(age >= 17 and age <= 70)
  • 1
  • 2

【终端输出】

False
  • 1
  1. 以下哪一个选项运算的结果是False?

A. not (5 == 1)
B. not (5 != 1)
C. not (5 < 1)

【参考答案】B

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/175868
推荐阅读
相关标签
  

闽ICP备14008679号