Seite 1 von 1

While else?

Verfasst: Dienstag 18. Mai 2004, 18:57
von Gast
Was bringt

while Bedingung:
anweisung
else:
zsuatz

der zsuatz wird eh immer Aufgerufen, was bringt da jetzt dass man eine else-Anweisung angeben kann?

Verfasst: Dienstag 18. Mai 2004, 18:59
von Gast
ups sollte zusatz heißen

Verfasst: Dienstag 18. Mai 2004, 19:09
von hans
setze doch bitte deinen Code in [code] ..... [/code] Tags. Dann kann man das besser lesen.

Hans

Verfasst: Dienstag 18. Mai 2004, 19:18
von hans
So, nun zum Prob. Habe mir mal ein Beispiel zurechtgezimmert.

Code: Alles auswählen

#!/usr/bin/env python2.3

i=10

while i > 5:
  print '%d grösser' % i
  i-=1
else:
  print '%d kleiner' % i
  i-=1
solange i > 5 ist, wird der Code ausgeführt. Ist die Bedingung nicht erfüllt, dann wird in den Else Zweig gesprungen und die Schleife beendet.

Es ist richtig, auf das ELSE könntest du verzichten. Aber manchmal ist es eben sinnvoll, mit ELSE zu arbeiten um zu verdeutlichen, dass dieses die Nachbehandlung zu deiner Schleife ist.

Nehmen wir einmal an, dass in obigen Beispiel die Variable i im nachhinein noch weiter Verwendung findet, aber um 1 verringert werden muß. Dann macht die Schreibweise durchaus Sinn. Also mehr ein stilistisches Element, es sei denn Dookie zaubert jetzt noch etwas aus der Trickkiste :D

Hans

Verfasst: Dienstag 18. Mai 2004, 19:25
von Gast
Dieses Thema wurde hier im Forum schon mal diskutiert:

http://python.sandtner.net/viewtopic.ph ... cdef4d2245