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