gpt4 book ai didi

python - 为什么不能在条件语句的代码中分解出 LCM 变量?

转载 作者:行者123 更新时间:2023-12-04 08:21:25 24 4
gpt4 key购买 nike

无法理解用于分解 0 的 bool 表达式。

x,y=24,36

LCM=1

counting=True

while counting:
if (LCM%x and LCM%y) == 0:
print('The LCM is {}'.format(LCM))
break

LCM+=1
LCM 计算结果为 24,这是错误的
但是这段代码给出了正确的 LCM:
x,y=24,36

LCM=1

counting=True

while counting:
if LCM%x==0 and LCM%y == 0:
print('The LCM is {}'.format(LCM))
break

LCM+=1
LCM 是 72,这是正确的
现在为什么 0 不能被分解?通常,如果我键入类似 2 和 3 == 0 的内容,则表达式的计算结果为 false,但在上面的示例中语法不应类似。所以我很困惑。

最佳答案

在python中,0 == False计算结果为 True .所以(LCM%x and LCM%y) == 0计算结果为 True当条件(LCM%x and LCM%y)False .什么时候会发生?每当要么 LCM%xLCM%y为零。
在你的第二个例子中,你有 LCM%x==0 and LCM%y == 0其计算结果为 True仅当 两者 LCM%xLCM%y为零。

关于python - 为什么不能在条件语句的代码中分解出 LCM 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65480149/

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