python无效的文字错误

时间:2011-03-16 04:08:59

标签: python input

所以我有这段代码

data = input()
m = data.split(',')

for i in range(0, len(m)):

    print(int(m[i]) )

但是当我运行它并键入“1,2,3”时,我收到此错误:

    print(int(m[i]))
ValueError: invalid literal for int() with base 10: '"1'

我做错了什么?

使用python 3

4 个答案:

答案 0 :(得分:4)

当您拥有代码时,您输入的输入应该是以逗号分隔的数字。您不必包含引号,只需键入1,2,3即可。只有在编写实际代码编写字符串文字时才需要引号。在这种情况下,您只是输入输入,它已经是字符串。

问题是你输入字面"1,2,3"并尝试解析第一个int字符串,"1无效。

答案 1 :(得分:0)

您似乎输入了文字引号(")作为输入的一部分; int()不知道如何解析这些。你需要先将它们剥离出来:

data = input().strip('"')

答案 2 :(得分:0)

在您的输入中看起来有一个额外的"个字符。 int()只会转换仅由所选基数中的数字组成的字符串(默认基数为10,因此它接受[0-9])。如果字符串输入中出现任何其他字符,则会引发此错误。

答案 3 :(得分:0)

您对input的输入:

"1,2,3"

适用于Python 2 input。 Python 3 input就像Python 2 raw_input,它的所有输入都被认为是一个字符串。