



Next: 3.4 Ergänzungen zu Schleifen
Up: 3.3 Schleifen
Previous: 3.3.1 Die endliche Schleife:
Contents
Index
3.3.2 Die bedingte Schleife: While-Schleife
Eine andere, aber in diesem Falle etwas unübliche Möglichkeit wäre
es gewesen, die Zuweisung in der folgenden Form durchzuführen:
-
- >>>while i in range (4):
... feld[i]=[1,2,3,4]
... i=i+1
Warum funktioniert das Ganze so nicht? Ja, worauf zeigt denn der Name
i? Während die »For« tatsächlich eine Zuweisung
ist, bietet »while« lediglich nur einen Vergleich an. Im Gegensatz
zu »for«, setzt »while« den Index »i« nicht automatisch
bei jedem Durchlauf um »eins hoch«. Daher muss innerhalb der Schleife
dieses zusätzlich erfolgen. Aber, bevor die Schleife beginnt, muss
auch ein Startwert angegeben werden. Es fehlt daher vor dem Beginn
der Schleife die Zuweisung »i=0«. Bitte bedenken Sie, dass die
letzte Zeile »i=i+1« auf jeden Fall zum Anweisungsblock gehören
muss! Daher muss sie genauso eingerückt werden wie die vorletzte Zeile.
Wenn Sie das nicht tun, wird i erst ausserhalb der Schleife verändert,
was eine Endlosschleife zur Folge hat.
While-Schleifen sind wichtig, aber benutzen Sie die For-Schleife sooft
es geht, denn diese kann niemals zu einer Endlosschleife werden. Die
entsprechende »elegante« Form der Doppelschleife würde in diesem
Fall so aussehen:
-
- >>>i=0
>>>while i in range (4):
... j=0
... while j in range (4):
... feld[i][j]=j+1
... j=j+1
... i=i+1
Achten Sie unbedingt auf die richtigen Einrückungen.




Next: 3.4 Ergänzungen zu Schleifen
Up: 3.3 Schleifen
Previous: 3.3.1 Die endliche Schleife:
Contents
Index
Heiko Schroeder
2003-03-19