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
Python "List index out of range"
@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.
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.
Stattdessen musst du "liste.append(neues_element)" aufrufen.