Seite 1 von 1

Anfängerfrage

Verfasst: Freitag 18. April 2008, 16:15
von Rektakel
Hallo, bin Anfänger in Python habe aber schon in anderen Sprachen Erfahrung.

Jetzt hab ich ein ziemlich seltsames Phänomen:

Ich hab ne Liste

current = [1,2,3,4,5,6,7,8,9,10]

Folgendes funktioniert nicht:

for i in range (0,9):
if current == 10:
okay = 1

Aber seltsamerweise funzt das:

for i in range (0,10):
if current == 10:
okay = 1

wobei current[10] ja eigentlich out of range sein müsste. Woran liegt das? Danke

Grüße
Rektakel

Verfasst: Freitag 18. April 2008, 16:17
von BlackVivi

Code: Alles auswählen

In [8]: range(9)
Out[8]: [0, 1, 2, 3, 4, 5, 6, 7, 8]

In [9]: range(10)
Out[9]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
:3

Verfasst: Freitag 18. April 2008, 16:18
von Karl
Gib mal
print range(0, 10) ein ;)

Edit: Okay, da hat's schon jemand für dich getan :o

Verfasst: Freitag 18. April 2008, 16:18
von CM
Hallo und willkommen im Forum

das liegt daran das

Code: Alles auswählen

range(0,10) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
während

Code: Alles auswählen

range(0,9) == [0, 1, 2, 3, 4, 5, 6, 7, 8]
Du weißt aber auch, daß Du direkt über current iterieren kannst? Z. B.

Code: Alles auswählen

for x in current: 
    something
Und wie man hier im Forum Pythoncode richtig setzt steht in den FAQ.

Gruß,
Christian

edit: PS Wohl viiiieeel zu langsam .... ;-)