0
所以我需要編寫一個程序給用戶兩個選項:A)驗證GTIN代碼或B)從7個GTIN代碼中查找8位GTIN代碼。要從7位GTIN代碼中找出GTIN代碼的第8位數字,必須按照這樣的順序將7位GTIN代碼中的每個數字相乘 enter image description here 然後從50中減去總和以獲得第8位數字。 「沒有定義名稱‘GTIN’的GTIN爲我: NameError」 這裏是代碼驗證8位GTIN條形碼
不過,我努力使代碼,每當我按的或b而不是顯示我想要的結果則顯示乙question = input("Would you like to A)Validate your code or B) Find the 8th digit?")
if question in "Aa":
barcode = input("Please enter your 8 digit number")
counter = 0
sum = 0
for i in barcode:
counter = counter + 1
if counter % 2 != 0:
sum = sum + int(i) * 3
else:
sum = sum + int(i) * 1
if sum % 10 == 0:
print("Valid GTIN")
else:
print("Invalid GTIN")
if question in "Bb":
gtin = input("Enter your 7 digit number")
for i in gtin:
counter = counter + 1
if counter % 2 != 0:
sum = sum + int(i) * 3
else:
sum = sum + int(i) * 1
print(sum)
lastdigit = 50 - sum
print("8th digit ", lastdigit)
print("Full 7 digit number ", gtin)
print("Full 8 digit number ", str(gtin+str(lastdigit)))
此外,當我按A或它給了我我想要的結果,但也顯示消息「因爲我在GTIN: NameError:名字‘GTIN’沒有定義」 enter image description here 我不希望此消息被顯示
「不工作」 是有點一般。究竟會發生什麼? – stybl
您需要分享您獲得的結果,以便我們幫助確定發生的事情。另外,根據您問題中的格式,您可能需要閱讀python縮進規則。 – cdkMoose
您的代碼無效:輸入'1111111'產生'第8位數字47' ... 47不是數字。根據你的代碼,'111111147'同樣是「有效的」。您的驗證器缺少GTIN驗證步驟。你需要再次查看你的規格。另外,最容易混淆的是,你的'a/b'選項與提示所說的相反。 – TemporalWolf