primes = [2,3,5,7]
for n in range(10, 10000):
isPrime = True
for d in primes:
if (n % d) == 0:
isPrime = False
else:
primes.append(n)
break
print(primes[n])
我必须打印从10到10000的所有素数,然后将它们附加到前几个素数的给定数组中。当我多次测试时,我的代码工作得更早了。现在它抛出了一个错误“列表索引超出范围”。不知道我在正确的轨道上有什么不对。
答案 0 :(得分:0)
我认为你应该从这样的事情开始
您需要迭代所有素数,然后才能追加到列表中。否则,您将始终在奇数上打破该循环(您使用2修改)
primes = [2,3,5,7]
for n in range(10, 10000):
isPrime = True
for d in primes:
if n % d == 0:
isPrime = False
break
if isPrime:
primes.append(n)
print(primes)