+5 投票
分类:编码思路 | 用户: 10 5 4 (1.1k 分)

1个回答

+2 投票
用户: 8 5 2 (1.4k 分)
采纳于 用户:
 
已采纳
  • 首先,关于or的用法:

例如:

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

希望这个回答能够解决你的问题。

欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...