Schleifen

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
icepacker
User
Beiträge: 49
Registriert: Dienstag 15. November 2005, 18:48

Freitag 28. April 2006, 19:04

Hi
Ich überlege gerade welcher Weg eher Python style ist.
Es soll einfach etwas n mal ausgeführt werden.
Wie würde man das dann eher schreiben:

Code: Alles auswählen

# 1)
i, k = 0, 5
while i < k:
    print 'hello'
    i += 1

# 2)
k = 5
for i in range(k):
    print 'hello'
2) Ist kürzer, aber vlt verwirrend weil man die Variable i ja gar nicht braucht.
Oder doch anders?
Aber wahrscheinlich ist das dann doch total egal wie mans schreibt?!

lg icepacker
ubuntu linux !!
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Freitag 28. April 2006, 19:46

Ich würde Nummer 2 nehmen.Es ist einfacher, kürzer und übersichtlicher.
Es ist nicht verwirrend. Jeder der sich ein bischen mit Python auskennt, verteht eine for.... in.... anweisung!

Aber achte darauf das range nur bis range(n-1) geht! :wink:
mfg

Thomas :-)
BlackJack

Freitag 28. April 2006, 21:38

Ich würde auch 2) nehmen und statt `i` den Namen `dummy`. Damit wird klar, dass der Wert im Schleifenrumpf absichtlich nicht benutzt wird. Und wenn es deutlich mehr Durchläufe werden, dann sollte man über `xrange()` nachdenken.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 28. April 2006, 22:14

Ich würde auch auf jeden Fall Variante 2 nehmen, da in der ersten Variante i eher zum 'Selbstzweck'-sozusagen da ist, damit du etwas zum hochiterieren hast. In der zweiten Variante brauchst du nicht mal mehr selbst hochiterieren, also sparst du dir eben dieses i.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Montag 1. Mai 2006, 21:00

Ich würde folgendes machen:

Code: Alles auswählen

import md5
Kartoffel = md5.new()
while Kartoffel.hexdigest() != "cc8481e82a8b056ebcc99d8746d9045c":
  print "Hallo"
  Kartoffel.update(Kartoffel.digest())
Klar, sauber, verständlich :-P
Antworten