[英]Prime number test for numbers 1 - 1000
作為一個家庭作業,我必須寫一個素數測試,這會給出一個“真實”或“虛假”的陳述。 棘手的是,我必須編寫一個csv.-文件,其中包含數字1到1000的“true”和“false”語句。我使用此代碼進行素數測試
def Primzahl(n):
if n < 2:
return False
if n == 2:
return True
if not n & 1:
return False
for x in range(3, int(n**0.5) + 1, 2):
if n % x == 0:
return False
return True
和
for i in range (1,1001):
Primzahl (i)
print (i)
我的for-loop只給出數字1,1000而不是真或假的陳述。 我是否必須在for循環中包含if和else? 有人可以幫忙嗎?
問題是print(i)
。 這將寫出i
,這是你的range
調用中的數字。 您還需要打印函數返回的值,例如print(Primzahl(i))
。
目前您只打印i,而不是方法的返回值。 您沒有使用方法的返回值執行任何操作。 您應該將結果分配給變量並同時打印變量。 (您也可以從print語句中調用該方法。)
for i in range (1,1001):
isPrime = Primzahl(i)
print (i + ": " + isPrime)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.