以下情況不起作用:我無法使genPrim函數正常工作,因爲我得到的「TypeError:'int'對象不是可以下載的」。生成一個比在列表中找到的數字更大的素數
幾點意見: 1.我的程序應該做的是先將一個數字輸入到一個列表中,然後在該數字上應用其他函數。 2.問題是我似乎無法使用列表中的數字來執行此操作。我該怎麼做?我首先考慮要求自己的立場,但是當去genPrim時,genPrim和Prim都會工作,因爲它們是相互依賴的,但他們要求相同的東西。導致到L
def Adauga(L):
n = int(input("Give number:"))
L = L + [n]
return L
#Verify if number is prime
def Prim(L):
poz = int(input("Position of number: "))
n = L[poz]
if n<2 :
return False
NrDiv=0
for a in range (2,int(n/2+1)):
if n%a==0:
NrDiv=NrDiv+1
if (NrDiv==0):
return True
else:
return False
#Generate prime number
def genPrim(L):
poz = int(input("Give number: "))
a = L[poz]
b=a+1
while Prim(b)==False:
b=b+1
return b
#Display menu
def AfisMeniu():
print()
print("1.Add number")
print("2.Check if number is prime")
print("3.Generate prime number")
print("0.End of program")
i = int(input("Your option: "))
return i
def Main():
"""
Start the program
"""
L = []
Opt = AfisMeniu()
while (Opt != 0):
if Opt == 1:
L=Adauga(L)
elif Opt ==2:
L=Prim(L)
print (L)
elif Opt ==3:
L=genPrim(L)
print (L)
else:
print ("Wrong!")
Opt = AfisMeniu()
print()
print("End of program")
Main()
難道你沒有得到行號作爲錯誤信息的一部分嗎?有什麼好主意不要把它包含在這裏? –