python的and和or优先级
2018-03-28 11:40
232 查看
原题
输入一年份,判断该年份是否是闰年并输出结果。(编程题)注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
答案:
def get_year():
year = int(input(“请输入年份:”))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(“%s 年是闰年” % year)
else:
print(“%s 年不是闰年” % year)
get_year()
=============================================
疑问
这里if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:我自己是认为不能写成一条语句,不能执行,于是了解了一下and与or的关系答疑
对python而言其一, 在不加括号时候, and优先级大于or
其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
第三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
例一:
对于, 1 or 5 and 4: 先算5 and 4, 5为真, 值为4. 再算1 or 4, 1 为真,值为1
对于, (1 or 5) and 4: 先算1 or 5, 1为真, 值为1. 再算1 and 4, 1为真,值为4
例二:
a = “heaven”
b = “hell”
c = True and a or b
print(c)
d = False and a or b
print(d)
输出:
heaven
hell
解析:
表达式从左往右运算,1和”heaven”做and的结果是”heaven”,再与”hell”做or的结果是”heaven”;0和”heaven”做and的结果是0,再与”hell”做or的结果是”hell”。
相关文章推荐
- python中关于 and 与or的优先级举例
- [Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑
- [Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑
- [Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑
- python中 and和or用法
- AND与OR的优先级
- Python中运算符not、and、or
- mongodb 多 or and 逻辑查询 python实现
- <转>Python: and、or以及and-or
- Python中的and/or
- python中 OR 和 and 的运行机制
- python中的and和or(转载)
- 关系运算符:or、and的优先级问题
- python中运算符and、or、not
- 【转载】python 中的 and、or、and-or
- python--and...or
- python中使用and和or来实现其它语言中的?号表达式
- python关键字and和or用法实例
- python中and-or语法
- SQL SERVER中的And与Or的优先级