Anfängerfrage

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
Rektakel
User
Beiträge: 1
Registriert: Freitag 18. April 2008, 16:11

Freitag 18. April 2008, 16:15

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
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Freitag 18. April 2008, 16:17

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
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Freitag 18. April 2008, 16:18

Gib mal
print range(0, 10) ein ;)

Edit: Okay, da hat's schon jemand für dich getan :o
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Freitag 18. April 2008, 16:18

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 .... ;-)
Antworten