江湖散人 发表于 2021-5-6 13:53:08

运行结果问题

a='a'
print(a>'b' or 'c')
这个运行结果是:c
为什么呢?

wp231957 发表于 2021-5-6 17:14:09

前面是假,后面是真,取后值

弈秋呜呜呜 发表于 2021-5-6 19:45:34

a > 'b'为False,a > 'c' 也为False。or的结果若都为假则取最后一个假值。
print(6 > 7 or 8)
8

lightning_red 发表于 2021-5-6 22:00:19


>>> 'a'>'b'
False                     
>>> 'a'>'b'or 'c'
'c'
>>>

1.在or操作中会先计算or前面的式子,如果结果为假,才会计算or后面的式子,因此会执行后面的字符表达式'c'。

>>> 'b'>'a'or 'c'
True

2.如果前面的式子为真,则会直接返回前面式子执行的结果
页: [1]
查看完整版本: 运行结果问题