這是我的GTIN-8號發電機隨機數生成器和驗證
barcode = []
inputChoice = 0
inputChoice = 1
checkNumber = 0
placeHolder = 0
def generate():
generate = 0
for i in str(Userinput):
barcode.append(int(i))
print(barcode)
for i in range (0,6,2):
generate += barcode[i] *3
print('Generate is now ',generate)
print(generate)
def checkNumber():
for i in str(Userinput):
checkNumber += int(i)
placeHolder += int(i)
checkNumber = round(checkNumber, -1)
checkNumber = (checkNumber - placeHolder) % 10
return(checkNumber)
def check():
jk = 0
def main():
inputChoice=0
while inputChoice !=9 and inputChoice !=1 and inputChoice!=2:
inputChoice=int(input("chose 1 to get GTIN,2 to check,9 to exit\n"))
Userinput = (input("input the barcode \n"))
if inputChoice==1 :
if len(Userinput) !=7:
print("make sure you inputted 7 inegers")
if inputChoice == 2:
if len(Userinput) !=8:
print("Make sure you input 8 integers")
else:
generate(Userinput)
return(Userinput)
Userinput = main()
generate()
checkNumber()
我已經做了函數調用的支票號碼,生成和主要但是當我運行一個代碼,它給了我這個錯誤代碼:
TypeError: generate() takes 0 positional arguments but 1 was given
我不清楚爲什麼是這樣的情況下,JK = 0有,因爲我還沒有完成該功能,我只是用它作爲一個佔位符。
在'main'函數的'else'塊中,您將'Userinput'作爲參數調用'generate'。你的函數被聲明爲不帶任何參數。 – JCVanHamme
我沒有檢查每一件事情,但至少你在'main()'函數的最後'else'中調用'generate(Userinput)'。 –
那麼我需要做什麼來糾正這 – aadoma123