Python 基础语法 – 逻辑运算符
逻辑运算符是用来做逻辑计算的,就像之前用到的比较运算符 ,每一次比较其实就是一次条件判断,都会得到一个相应的True或者False的值,而逻辑运算符的操作数就是一个用来做条件判断的表达式或者变量
运算符 | 说明 |
---|---|
and | 与 |
or | 或 |
not | 非 |
1. and(逻辑与)
应用场景:
运算规则:
'''
真 and 真 ----》真
真 and 假 ----》假
假 and 真 ----》假
假 and 假 ----》假
规律:一假为假,全真为真
'''
# 案例: 判断num是否是一个大于10的偶数
num = 8
# num是否大于10: num > 10
# num是否是偶数: num % 2 == 0
print('num是否是一个大于10的偶数:', num > 10 and num % 2 == 0)
# 案例:判断num是否能同时被3和7整除
num = 63
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 如果一个数能同时被另外两个数整除,那么这个数一定能被这两个数的最小公倍数整除
print('num是否能同时被3和7整除:', num % 21 == 0)
# 案例:判断num是否是一个在100~200之间的奇数
num = 202
print('num是否是一个在100~200之间的奇数:', num % 2 != 0 and 100 < num < 200)
2. or(逻辑或)
应用场景:
运算规则:
# 案例:判断num是否能被3或者5整除
num = 9
print('num是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)
# 案例:判断year对应的年份是否是闰年
# 是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年
year = 2024
print('year对应的年份是否是闰年', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
# 案例:判断x保存的数据是否是数字数据
x = 123.5
print('x保存的数据是否是数字数据:', type(x) == int or type(x) == float)
3. not (逻辑非)
应用场景:
运算规则:
# 案例1:写出 age 是否不大于 18 的条件
age = 8
print(not age > 18)
print(age <= 18)
# 案例2:判断 num 是否不是偶数
num = 181
print(not num % 2 == 0)
print(num % 2 != 0)
# 案例3:判断num是否不能同时被3和7整除
# 正向分析:能被 3 整除但是不能被 7 整除;能被 7 整除但是不能被 3 整除;既不能被 3 整除也不能被 7 整除
# 方向条件:能同时被 3 和 7 整除
num = 89
print(not (num % 3 == 0 and num % 7 == 0))
重点:短路原则
注意:
作者:小小大胖子3