Mein Programm fordert den Benutzer auf, 10 Zufallszahlen einzugeben, bei denen ich diesen Code verwende.
numbers = input("Type 10 numbers, separeted by spaces: ")
numberlist = list(numbers)
numberlist = map(int,numberlist)
print(numberlist)
aber wenn das Programm kompiliert, kann ich die 10 Zahlen eingeben, aber ich erhalte diese Meldung in der Shell.
<map object at 0xb51a11cc>
Wer weiß, was ist die Lösung? Ich benutze Python 3.3 in Ubuntu 13.04.
Vielen Dank.
Antworten:
4 für die Antwort № 1map
in Python 3.x gibt ein Map-Objekt zurück, keine Liste wie in Python 2.x. Um dies zu beheben, platzieren Sie das Kartenobjekt in einer Liste, entweder hier:
numberlist = list(map(int,numberlist))
oder hier:
print(list(numberlist))
Demo:
>>> lis = ["1", "2", "3"]
>>> map(int, lis)
<map object at 0x01DE0F70>
>>> list(map(int, lis))
[1, 2, 3]
>>>
Außerdem werden Sie das Folgende tun wollen, damit es funktioniert (im Moment wird versucht, alle Leerzeichen in Ganzzahlen umzuwandeln, die in die Luft gejagt werden):
numbers = input("Type 10 numbers, separated by spaces: ").split()