gpt4 book ai didi

python - 所有()函数;在 if 语句中遍历列表(python 3)

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:10 25 4
gpt4 key购买 nike

所以我一直在尝试解决“欧拉计划”问题,但在其中一个问题上卡住了。我正在尝试遍历列表并检查给定数字是否可以除以给定列表中的每个值。我已经尝试过 all() 函数,认为它是最好的,但我要么得到一个值错误,要么什么都没有。我用 all() 函数尝试了很多语法组合,但没有成功。

div_lst = [x for x in range(1, 21)]
num_list = [x for x in range(1, 1000000)]

for x in num_list:
if all(x % y for y in div_lst):
print(x)

我试过了

all((x % y == 0) for y in div_lst) 
all((x % y for y in div_lst) == 0)

还有很多,就是想不通。

最佳答案

你的语法

all((x % y == 0) for y in div_lst) 

做你想做的;对于 div_lst 中的每个 y,它检查 x 是否可以被 y 整除。您没有打印出任何内容的唯一原因是答案比 10**6 大得多,因此您没有尝试正确的 x

相比之下,all(x % y for y in div_lst) 等价于all((x % y != 0) for y in div_lst),它这不是您想要的,并且由于所有整数都与 0 mod 1 一致,因此无论如何都没有解决方案。

(提示:这不是解决这个问题的正确方法。阅读“最小公倍数”,以及如何计算它们。)

关于python - 所有()函数;在 if 语句中遍历列表(python 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800323/

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