繁体   English   中英

python无效的文字错误

[英]python invalid literal error

所以我有这个代码

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])。如果字符串输入中出现任何其他字符,它引发了这个错误。

您输入的input

"1,2,3"

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM