gpt4 book ai didi

python - 这些寻找素数的片段有什么区别?

转载 作者:行者123 更新时间:2023-11-28 22:24:44 26 4
gpt4 key购买 nike

我想找出 1 到 100 之间的素数。

我知道一定有一百万种方法可以实现这一点,但我写了几行,可能很愚蠢。

pnumber = []
for x in range(2, 101):
for i in range(2, x):
if all(x % i):
pnumber.append(x)
print(pnumber)

这行不通,但如果我尝试这段代码,它会起作用。

pnumber = [x for x in range(2, 101) if all(x % i for i in range(2, x))]
print(pnumber)

第一次尝试有什么问题? second try 的写法不是很笨吗?

最佳答案

您的代码片段不等效,等效的 for 循环(不使用任何生成器或理解表达式)将是:

pnumber = []
for x in range(2, 101):
for i in range(2, x):
if x % i == 0:
break
else:
pnumber.append(x)
print(pnumber)

关于python - 这些寻找素数的片段有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46134080/

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