我在做python蝙蝠,问题“ has23 ”如下:
给出一个int数组长度2,如果它包含2或3,则返回 True 。
到目前为止,我已经编写了此代码,希望它可以与else语句一起使用,但是如果在数组中未找到2或3,则无法触发False。
def has23(nums):
if 2 or 3 in nums:
return True
else:
return False
答案 0 :(得分:2)
您需要完全编写以and
或or
分隔的条件。您的代码实际上是在检查if 2
或if 3 in nums
。 if 2
实际上检查2是否为非零,这始终是正确的。
def has23(nums):
if 2 in nums or 3 in nums:
return True
else:
return False
答案 1 :(得分:0)
在Python中,写2 or 3 in nums
实际上意味着(2) or (3 in nums)
。由于True
是真实值,因此它们始终会评估为2
。要在这里执行您的意图,您应该写的是2 in nums or 3 in nums
。