【发布时间】:2020-10-10 07:13:47
【问题描述】:
我真的很惭愧无法弄清楚这一点,但这让我很生气!我不明白为什么我的 while 循环条件不起作用。根据初始 for 循环中的范围,在 range 中的第二个数字超过 105000 后,我得到了可变数量的术语(超过 10001)。
prime = []
terms = 10001
length = 0
while length <= terms:
for i in range(2, 110000):
isPrime = True
for j in range(2, int(i**0.5) + 1):
if i%j == 0:
isPrime = False
break
if isPrime:
prime.append(i)
length = len(prime)
print(length)
输出结果是
10024
我最初尝试使用 len(prime),然后创建了可变长度,正如预期的那样,它没有任何区别。
请朝正确的方向轻推我以修复此错误。 ????
【问题讨论】:
标签: python-3.x loops while-loop