1
對不起,如果這是顯而易見的,但我對python編程很陌生,爲什麼這個程序不生成素數列表,其中大多數似乎是素數,但有有些不是。python素數生成器的問題
#!/usr/bin/env python
print ("Prime Numbers")
Number = 2
while True:
Test = 2
while Test < Number:
if Number % Test == 0:
Number = Number + 1
else:
Test = Test + 1
print (str(Number) + " is a prime number!")
Number = Number + 1
如果按照[PEP 8](http://www.python.org/dev/peps/pep-0008/#方法名稱和實例變量)與你的變量命名約定,人們會發現它更容易理解你的代碼。我覺得'Test'和'Number'應該是類,而不是實例變量。 – robert 2012-07-06 11:39:33
嘗試構造一個更多的程序,做一個函數,每次調用返回一個素數(在需要的地方添加yield/return語句) – KurzedMetal 2012-07-06 11:39:57
小提示 - 1]短語'a = a + 1'可以重寫爲'a + = 1',除了更清潔外,也可能更快。 2]在通過強力分割檢查對素數進行測試時,您只需檢查數字「
Hooked
2012-07-06 13:14:43