蟒蛇无效的文字错误
问题描述:
所以我有这样的代码蟒蛇无效的文字错误
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
答
由于您有自己的代码,所以您输入的输入应该是以逗号分隔的数字。您不必包含引号,只需键入1,2,3
,而不是其他任何内容。只有在编写写入字符串文字的实际代码时,才需要引号。在这种情况下,你只需要输入,它已经是字符串。
问题是,你正在输入字面意思"1,2,3"
,它试图解析第一个int字符串,"1
这是无效的。
答
看来你在文字引号("
)作为输入的一部分输入; int()
不知道如何解析这些。您需要先将它们去除:
data = input().strip('"')
答
看起来您的输入中有一个额外的"
字符。 int()
只会转换仅由所选基数中的数字组成的字符串(默认基数为10,因此它接受[0-9])。如果任何其他字符出现在字符串输入中,则会引发此错误。