Seite 1 von 1

Index ist "out of range" :D

Verfasst: Samstag 2. November 2013, 16:29
von Saugwels98
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?

Re: Index ist "out of range" :D

Verfasst: Samstag 2. November 2013, 16:42
von mutetella
@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

Re: Index ist "out of range" :D

Verfasst: Samstag 2. November 2013, 16:42
von Sirius3
@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.

Re: Index ist "out of range" :D

Verfasst: Samstag 2. November 2013, 16:56
von 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.

Re: Index ist "out of range" :D

Verfasst: Samstag 2. November 2013, 16:57
von Saugwels98
Vielen Dank für die Tipps! :D