(这是家庭作业)这就是我所拥有的:
L1 = list(map(int, input().split(",")))
Run Code Online (Sandbox Code Playgroud)
我遇到了
File "lab3.py", line 23, in <module>
L1 = list(map(int, input().split(",")))
AttributeError: 'tuple' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)
是什么导致了这个错误?
我1, 2, 3, 4用作输入
你需要使用raw_input而不是input
raw_input().split(",")
Run Code Online (Sandbox Code Playgroud)
在Python 2中,该input()函数将尝试eval用户输入的任何内容,相当于eval(raw_input()).当您输入逗号分隔的值列表时,它将被计算为元组.然后你的代码调用split那个元组:
>>> input().split(',')
1,2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)
如果你想确定它实际上是一个元组:
>>> v = input()
1,3,9
>>> v[0]
1
>>> v[1]
3
>>> v[2]
9
>>> v
(1, 3, 9)
Run Code Online (Sandbox Code Playgroud)
最后,而不是list和map你是同一个列表理解更好
L1 = [int(i) for i in raw_input().split(',')]
Run Code Online (Sandbox Code Playgroud)