아래에서 작동하지 않는 것 : "TypeError : 'int'객체가 subscriptable이 아니므로 genPrim 함수가 작동하지 않습니다.목록에서 찾은 숫자보다 큰 소수 생성
몇 가지 관찰 : 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()
오류 메시지의 일부로 회선 번호를받지 못합니까? 여기에 포함시키지 않는 것이 좋을까요? –