我正在用python编写一个程序。假设它接受一个GTIN编号并放入一个列表中,然后检查它是否有效。程序正常工作,但只要我输入一个以0开头的GTIN编号,就会出现一个“invalid token(,line 1)”错误。我真的需要一个解决方案,因为有些产品的GTIN编号以0开头。在
例如,当我输入一个数字时:
96080832
这个程序很好用。在
当我输入一个数字,比如:
^{pr2}$我得到一个错误:
invalid token (<string>, line 1)
指向这条线:
inputtedInt = int(input("Enter the gtin number: "))
整体定义:
def chooseOption(inputInt):
while(inputInt > 0 and inputInt < 4):
if(inputInt == 1):
print("you picked option number 1")
showOptions()
break
elif(inputInt == 2):
print(" ")
inputtedInt = int(input("Enter the gtin number: "))
gtin = map(int,str(inputtedInt))
checkValidity(gtin, 2)
print(" ")
showOptions()
break
elif(inputInt == 3):
print("you picked option number 3")
showOptions()
break
else:
option = int(input("Error - enter a number from 1 to 3. : "))
chooseOption(option)
提前谢谢。在
由于您正在将str ant/映射到行中的int,因此引发错误:
例如,如果你想跑步:
^{pr2}$您将得到以下错误:
解决方案->;您应该为GTIN编号使用strings:)
您似乎在使用python2。在Python2中,}不是以8为基数的有效数字,因此此输入构成语法错误。在
input
试图将输入字符串作为一个Python表达式求值,在python2语法中,数字文本上的前导0
表示该数字在octal或以8为基数。由于8
和{如果您应该使用python3,那么就使用python3。如果您应该使用python2,请使用^{} 而不是{}。在
此外,如果您关心如何保存前导零之类的内容,那么应该将输入保持为字符串,并且只在需要将其作为整数进行数学运算时对其调用
int
。在相关问题 更多 >
编程相关推荐