我正在学习 python 并且逻辑运算符“或”有问题。无法找到信息并理解为什么各种写作中的代码解释不同(#First 和 #Second 示例中的区别是什么)。因此,#First 示例不等于 #Second,当所有代码变体中的运算符“和”都相等时
# First
a=35
b=35
if a or b>35:
print('First')
'''with code like above python have printed 'First' even if statement false, like i understand it.
But in other examples, statement are false too, and 'print' wasn't done, like it must be.'''
# Second
c=35
d=35
if c>35 or d>35:
print('Second')
#Third
e=35
f=35
if e>35 and f>35:
print('Third')
#Fourth
g=35
h=35
if g and h>35:
print('Fourth')
Run Code Online (Sandbox Code Playgroud)
a or b > 35
Run Code Online (Sandbox Code Playgroud)
相当于
a or (b > 35)
Run Code Online (Sandbox Code Playgroud)
并且a是真实的,因为所有的整数除了0是真实的。您可以验证:
>>> a or b > 35
35
>>> (a or b) > 35
False
Run Code Online (Sandbox Code Playgroud)
另请注意,如果或大于,(a or b) > 35则不会成为。Trueab35
(a or b or c or ... or n) > 35
Run Code Online (Sandbox Code Playgroud)
仅当析取中的第一个非零数大于35
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |