可爱小旭 发表于 2019-8-5 09:37:38

关于and和or的优先级问题

判断是否为闰年
普通年能被4整除且不能被100整除,世纪年能被400整除
if(year%4)==0 and (year%100)!=0 or (year%400)==0:
想问一下这里and和or为什么能连用呢?是什么意思呢?

zltzlt 发表于 2019-8-5 09:42:30

and 比 or 高级,所以先计算 (year%4)==0 and (year%100) != 0,如果为真,则这整个条件表达式的值就为真,否则看 or 后面的条件 (year%400)==0,如果这个条件表达式的值为真,则这整个条件表达式的值也为真,反之为假

可爱小旭 发表于 2019-8-5 09:58:14

zltzlt 发表于 2019-8-5 09:42
and 比 or 高级,所以先计算 (year%4)==0 and (year%100) != 0,如果为真,则这整个条件表达式的值就为真, ...

那我可以理解成这个or等同于else吗

zltzlt 发表于 2019-8-5 09:59:27

可爱小旭 发表于 2019-8-5 09:58
那我可以理解成这个or等同于else吗

不可以,or 就是 or,else 就是 else,and 比 or 高级,所以先计算 and 再计算 or

DT_Nelson 发表于 2019-8-5 10:33:39

逻辑运算优先级not > and > or
页: [1]
查看完整版本: 关于and和or的优先级问题