これが私のコードです:
primes = [2, 3]
while len(primes) != 1001:
a = primes[-1] + 2
for i in primes:
if a % i == 0:
break
else:
print(primes)
primes.append(a)
print(primes[1002])
これは、1001 番目の素数までのリストを作成し、1001 番目の数を出力することになっています。まず、リストの最後の数値を取得して 2 を追加し、次に、指定された数値が素数リストのいずれかのメンバーで割り切れるかどうかをチェックします。割り切れる場合は、for ループが中断され、else 句がスキップされます。そうでない場合、数値は素数リストに追加されます。このプロセスは、リストの長さが 1001 になるまで繰り返されます。ループが終了すると、最後の番号が出力されます。
ただし、出力は次のようになります。
[2, 3]
[2, 3, 5]
_
また、プログラムは手動で終了するまで終了しません。私が間違っていることを教えてもらえますか?