私は本当にPythonの初心者なので、知識がなくて申し訳ありませんが、Pythonのマニュアルとチュートリアル(http://docs.python.org/2.7/tutorial)を読んでいるからです。ループがどのように機能するかを完全に把握することはできません。私はいくつかの簡単なプログラムを書いたので、基本は理解できたと思いますが、何らかの理由で、n 以下のすべての素数をリストすることを意図したこのプログラムは機能しません。
n = int(raw_input("What number should I go up to? "))
p = 2
while p <= n:
for i in range(2, p):
if p%i == 0:
p=p+1
print "%s" % p,
p=p+1
print "Done"
たとえば、100 を入力したときの出力は次のとおりです。
2 3 5 7 11 13 17 19 23 27 29 31 35 37 41 43 47 53 59 61 67 71 73 79 83 87 89 95 97 101 Done
これはほぼ正しいように見えますが、何らかの理由で 27、35、95 が含まれており、これらはもちろん複合です。私は自分のループが機能する方法を分解しようとしていますが、分割可能性のチェックを突然スキップする場所がわかりません。誰かが見れば、構文がこれを引き起こしていることを説明できると思いました。本当にありがとう!