gpt4 book ai didi

python - 理解逻辑语句

转载 作者:行者123 更新时间:2023-11-28 22:31:12 25 4
gpt4 key购买 nike

我在最近的测试中遇到了这个问题:

There are two wolves, a and b, and the parameters a_howl and b_howl indicate if each is howling. We are in trouble if they are both howling or if neither of them is howling. Return True if we are in trouble.

wolf_trouble(True, True) → True

wolf_trouble(False, False) → True

wolf_trouble(True, False) → False

我的代码如下,在提交之前,我测试了它在所有三种情况下都能正常工作。

def wolf_trouble(a_howl, b_howl):
if a_howl == True & b_howl == True:
return True
elif a_howl == False & b_howl == False:
return True
else:
return False

然而,还有一个未提及的额外测试条件,因此,我只获得了部分学分。 :

wolf_trouble(False, True) → False

当我运行我的代码时,wolf_trouble(False, True) 返回 True,我试图了解原因。由于我已将所有不是 (True, True) 或 (False, False) 的条件设置为返回 False,为什么我会看到此结果?

除了对每个可能的排列进行硬编码外,我可以采取哪些步骤来让我的代码处理这些条件?

最佳答案

&位与运算符。相反,您应该使用 and,这是逻辑与运算符。注意,顺便说一句,您可以通过简单地检查 a_howlb_howl 是否相等来大大简化此函数:

def wolf_trouble(a_howl, b_howl):
return a_howl == b_howl

关于python - 理解逻辑语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com