-1

我的程序要求用户输入 10 个我正在使用此代码的随机数。

numbers = input("Type 10 numbers, separeted by spaces: ")
numberlist = list(numbers)
numberlist = map(int,numberlist)
print(numberlist)

但是当程序编译时,我可以输入 10 个数字,但我在 shell 中收到了这条消息。

<map object at 0xb51a11cc>

有谁知道解决方法是什么?。我在 ubuntu 13.04 中使用 python 3.3。

谢谢。

4

1 回答 1

4

map在 Python 3.x 中返回一个地图对象,而不是像在 Python 2.x 中那样的列表。要解决此问题,请将地图对象放在此处的列表中:

numberlist = list(map(int,numberlist))

或在这里:

print(list(numberlist))

演示:

>>> lis = ['1', '2', '3']
>>> map(int, lis)
<map object at 0x01DE0F70>
>>> list(map(int, lis))
[1, 2, 3]
>>>

此外,您将要执行以下操作以使其正常工作(现在它会尝试将所有空格变成整数,这会爆炸):

numbers = input("Type 10 numbers, separated by spaces: ").split()
于 2013-09-01T19:22:36.160 回答