gpt4 book ai didi

python - 使用 while 遍历带有条件的列表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:00 24 4
gpt4 key购买 nike

我正在尝试遍历素数列表,但我想在达到某个限制时停止。

def primetest(number,primelst):
limit = int(round(sqrt(number),0)+1)
while prime in primelst < limit:
if (number % prime) == 0:
return False
return True

作为 FOR 语句,这是有效的:

def primetest(number,primelst):
limit = int(round(sqrt(number),0)+1)
for prime in primelst:
if (number % prime) == 0:
return False
return True

但这很慢,因为它遍历了所有素数,我希望迭代在达到极限时停止。所以 while 语句似乎是更好的选择,但我想不出正确的语法。

最佳答案

只需在循环体中添加一个检查:

for prime in primelst:
if prime > limit:
break
# ...

更新:我最初建议使用enumerate,但我看到你实际上想在质数大于limit时停止循环>.

关于python - 使用 while 遍历带有条件的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350162/

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