所以我需要编写一个程序,为用户提供两个选项:A)验证GTIN代码或B)从7个GTIN代码中查找GTIN代码的8位数。要从7位GTIN代码中找出GTIN代码的第8位,7 GTIN代码中的每个数字必须按照这样的顺序相乘
然后从50减去总和得到第8位数。 然而,我努力制作代码,每当我按B或b而不是显示结果时,我希望它显示“for i in gtin: NameError:名称'gtin'未定义“ 这是代码
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或a时,它会给我我想要的结果,但也会显示消息“for i in gtin: NameError:名称'gtin'未定义“
我不希望显示此消息
答案 0 :(得分:0)
它打破了,因为它不知道条形码是什么,因为它没有被设置为任何东西,因为它被阻止等待用户输入他们没有选择的选项。
试试这个:
question = input("Hellp, would you like to A) Validate you barcode or B)Find out the 8th digit number?")
if question in "Bb":
# do B stuff
elif question in "Aa":
# do A stuff