python输入以0开头的数字

2024-09-28 05:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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)

提前谢谢。在


Tags: 程序tokennumberinput编号intoptionprint
2条回答

由于您正在将str ant/映射到行中的int,因此引发错误:

gtin = map(int,str(inputtedInt))

例如,如果你想跑步:

^{pr2}$

您将得到以下错误:

File "<stdin>", line 1
a = 005
      ^
SyntaxError: invalid token

解决方案->;您应该为GTIN编号使用strings:)

您似乎在使用python2。在Python2中,input试图将输入字符串作为一个Python表达式求值,在python2语法中,数字文本上的前导0表示该数字在octal或以8为基数。由于8和{}不是以8为基数的有效数字,因此此输入构成语法错误。在

如果您应该使用python3,那么就使用python3。如果您应该使用python2,请使用^{}而不是{}。在

此外,如果您关心如何保存前导零之类的内容,那么应该将输入保持为字符串,并且只在需要将其作为整数进行数学运算时对其调用int。在

相关问题 更多 >

    热门问题