Index ist "out of range" :D

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Saugwels98
User
Beiträge: 9
Registriert: Samstag 2. November 2013, 16:24
Wohnort: Erlangen

Hey Leute,

Ich arbeite gerade an einen Script und beim Zwischen-Test kommt dieser Fehler auf. +

Code: Alles auswählen

def Stropfege():
    Stropfe = []
    for a in range(1,6):
        a = random.randint(1,5)
        b = random.randint(1,5)
        Stropfe.append(Konsonanten[a])
        Stropfe.append(Vocale[b])
    return Stropfe

print Stropfege()
Da ich noch Anfänger bin, kann ich den Fehler: IndexError: "list index out of range" nicht ganz deuten. Was muss ich machen um den Bug zu beheben?
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@Saugwels98:
Du versuchst, auf ein Element der Liste `Konsonanten` bzw. `Vocale` zuzugreifen, das es nicht gibt.

Code: Alles auswählen

>>> any_list = [0, 1, 2]
>>> any_list[0]
0
>>> any_list[1]
1
>>> any_list[2]
2
>>> any_list[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@Saugwels98: Die Variable mit der Du auf ein Element einer Liste zugreifen willst ist zu groß. Aus diesem Grund sollte man nie feste Zahlen benutzen, wenn man eigentlich die Länge einer Liste meint.
BlackJack

@Saugwels98: Und in diesem Fall braucht man gar keine (Index-)Zahlen sondern nimmt einfach `random.choice()`.

Du solltest Dir aber auch noch mal anschauen mit welchem Index eine Liste (oder ein Tupel) beginnt.
Saugwels98
User
Beiträge: 9
Registriert: Samstag 2. November 2013, 16:24
Wohnort: Erlangen

Vielen Dank für die Tipps! :D
Antworten