我的代碼應該要求輸入一個7位數字(GTIN 8)並告訴您第8位數字和/或要求您輸入8位數字(GTIN 8)號碼和告訴它是否是有效的GTIN 8號碼。雖然我沒有得到這些輸出。當我在一個8位數字我的GTIN 8校驗碼和有效性檢查不起作用
if len(str(GTIN))==8 and sum(total)%10==0:
TypeError: 'int' object is not iterable What do I need to do to my code to fix this error?
由於輸入一個不7位數
ERROR消息,當I型
c = int(GTIN[2])*3
IndexError: string index out of range
ERROR消息。這是我的代碼(我可以澄清任何你不能確定):
while 2>1:
GTIN = input("Enter 7 digit number for check-digit. Enter 8 digit number for validity.")
if GTIN.isdigit()==False:
continue
a = int(GTIN[0])*3
b = int(GTIN[1])*1
c = int(GTIN[2])*3
d = int(GTIN[3])*1
e = int(GTIN[4])*3
f = int(GTIN[5])*1
g = int(GTIN[6])*3
total = (a+b+c+d+e+f+g)
checkdigit = (total + 9) // 10 * 10 - total
if len(GTIN) == 7:
print("Your check digit is",checkdigit)
if len(str(GTIN))==8 and sum(total)%10==0:
print("Valid GTIN-8 number")
else: print("Invalid GTIN number")
在開始嘗試訪問單個字符之前,您不應該檢查'GTIN' *的長度嗎? –
我不確定這對於您如何執行代碼是必要的。可能雖然,謝謝 – Clink