Seite 1 von 1

Python "List index out of range"

Verfasst: Sonntag 14. Januar 2018, 15:09
von Daniel Schreiber
Hallo, ich schreibe gerade ein Spiel in Python-3.6.4 und möchte mehrere Gegner spawnen.
Ein Teil des Programms sieht folgendermaßen aus:
spieleranzahl=10
gegner=[]
for count in range(spieleranzahl):
gegner[count].append(turtle.Turtle())
gegner[count].color("red")
gegner[count].shape("circle")
gegner[count].penup()
gegner[count].setposition(random.randint(-300, 300), random.randint(-300, 300))
Jedoch werden die turtles nicht angezeigt und eine Fehlermeldung erscheint:
gegner[count].append(turtle.Turtle())
IndexError: list index out of range
Ich wäre sehr dankbar, wenn mir jemand weiterhelfen kann.
LG Daniel

Re: Python "List index out of range"

Verfasst: Sonntag 14. Januar 2018, 15:27
von Sirius3
@Daniel Schreiber: Listen in Python haben eine bestimmte Länge, leere Listen eben die Länge 0. Das 1. Elemente existiert also nicht. Das `append` muß man daher auf die Liste anwenden. Am besten weist man das neue Objekt einer Variable zu und hängt diese Objekt erst am Ende der for-Schleife an die Liste an.

Re: Python "List index out of range"

Verfasst: Sonntag 14. Januar 2018, 15:28
von __deets__
Deine Liste hat keine Element. Konsequenterweise kannst du auch nicht auf irgendein Element zugreifen, auch nicht, um ihm einen neuen Wert zu verpassen.

Stattdessen musst du "liste.append(neues_element)" aufrufen.