Seite 1 von 1

Schleifen

Verfasst: Freitag 28. April 2006, 19:04
von icepacker
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

Verfasst: Freitag 28. April 2006, 19:46
von Python 47
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:

Verfasst: Freitag 28. April 2006, 21:38
von BlackJack
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.

Verfasst: Freitag 28. April 2006, 22:14
von Leonidas
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.

Verfasst: Montag 1. Mai 2006, 21:00
von Joghurt
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