例如:
i= 0
if i == 1 or 5:
print(i)
此时并非是判断i是否等于1或者5,而是
(if i == 1) or (5):
正确的用法应该是
if i == (1 or 5):
- 其次,即使是按照or的正确写法来写,你的思路也不对。
or通俗的理解为布尔逻辑,也就是只有True和False,当判断结果为真时,返回真值,如果判断时,or的两边都为真值,则返回第一个真值,例如,在下面的程序中,‘c’和‘a’都理解为True,所以or的判断结果为真,返回第一个真值‘c’。
word = ['c', 'a', 't']
for state in word:
if state == ('c' or 'a'):
print("Yes")
else:
print("No")
本段程序的输出结果为
Yes
No
No
word = ['c', 'a', 't']
for state in word:
if state in 'ac':
print("Yes")
else:
print("No")
- 最后,对于使用and的问题,与or类似,但需要注意的是,当and的两端都为真时,返回第二个真值。
例如,本段程序:
print(1 and 0)
print(0 and 1)
print(1 and 5)
print(5 and 1)
输出结果为:
0
0
5
1
希望这个回答能够解决你的问题。