所以我一直在试图解决“欧拉计划”的问题,却被其中一个问题困住了。 我尝试遍历一个列表,检查给定的数字是否可以被给定列表中的每个值平均除。 我试过all()函数,认为它是最好的,但不是我得到一个值错误或什么都没有。 我用all()函数尝试了很多syntex组合,但没有成功。你知道吗
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)
还有更多的,就是好像想不通。你知道吗
你的语法
它检查
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无论如何都没有解。你知道吗(提示:这不是解决这个问题的正确方法。阅读“最低公倍数”,以及如何计算它们。)
相关问题 更多 >
编程相关推荐