-1

私のプログラムは、このコードを使用している 10 個の乱数を入力するようにユーザーに求めます。

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

しかし、プログラムのコンパイル中に 10 個の数字を入力できますが、シェルでこのメッセージが表示されます。

<map object at 0xb51a11cc>

誰が解決策を知っていますか?ubuntu 13.04でpython 3.3を使用しています。

ありがとう。

4

1 に答える 1

4

mapPython 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 に答える