Bevor man mit der for-Schleife durchstarten kann, sollte man sich die sequentiellen Datentypen ansehen.
Bearbeite die Aufgaben und komme danach auf diese Seite zurück.
Wofür kann man eine for-Schleife nutzen?
Eine for-Schleife wird mit Hilfe einer Laufvariable i von links nach rechts durchlaufen.
Im ersten Durchlauf erhält i als Variablenwert den ersten Wert des sequentiellen Datentyps ( z.B. liste[0] ).
Mit diesem Wert kann nun gearbeitet werden.
Die Laufvariable i bekommt in jedem Durchlauf einen neuen Variablenwert zugeordnet, nämlich genau den Wert, der im sequentiellen Datentyp an der Stelle liste[ i ] steht.
Gib die Unterschiede der for()-Schleife gegenüber der while()-Schleife an:
Programmname: for_a1.py
Die Aufgabe Listen und Schleifen wurde hier mit einer while-Schleife gelöst. Das geht auch kürzer!
Löse die Aufgabe mit Hilfe einer for-Schleife.
Je nach den übergebenen Variablen kann die range()-Funktion den Zähler entweder bei 0 oder bei einer beliebigen Zahl starten lassen und gleichzeitig das Ende der Schleife sowie optional die Schrittweite festlegen.
Siehe range()-Funktion.
Es folgen die Grundlegenden Informationen, damit die Aufgaben bearbeitet werden können.
Die Funktion range(y) gibt eine Sequenz von Zahlen in Einerschritten aus.
Diese Sequenz startet bei 0 und endet bei y-1.
Variable | Bedeutung |
---|---|
y | Endwert der Sequenz. Die Sequenz endet vor diesem Wert (nicht inklusiv). |
Die Funktion range(x,y) gibt eine Sequenz von Zahlen, beginnend bei x, in Einerschritten aus.
Diese Sequenz startet bei x und endet bei y-1.
Variable | Bedeutung |
---|---|
x | Startwert der Sequenz. Die Sequenz beginnt bei diesem Wert. |
y | Endwert der Sequenz. Die Sequenz endet vor diesem Wert (nicht inklusiv). |
Statt der Variablen können auch kleine Berechnungen eingesetzt werden (z.B. y+1)
Programmname: for_a2_range.py
Schreibe einen Code, der die Zahlen von 0 bis n (n... von Nutzer eingegebene Zahl) miteinander addiert und am Ende das Ergebnis ausgibt.
Nutze dazu die Funktion range().
Schleifen lassen sich auch ineinander verschachteln. D.h. innerhalb einer Schleife wird erneut eine Schleife aufgerufen.
Das Prinzip sollte vom Calliope Mini bekannt sein.
Programmname: for_a3.py
Im folgenden Beispiel arbeitet die erste Schleife die Liste mit den Ziffern 1 und 2 ab und wird somit 2 mal durchlaufen.
Die zweite Liste enthält 3 Elemente. Sie soll innerhalb der ersten Schleife aufgerufen werden und muss daher einegrückt stehen.
Die Ausgabe erfolgt innerhalb der zweiten for-Schleife. Das Programm liefert dadurch 2*3=6 Ausgaben.
Programmname: for_fakultaet.py
Das Programm sollte schon einmal mit der while()-Schleife bearbeitet worden sein.
Jetzt soll das Programm mit der for()-Schleife umgesetzt werden.
Die Fakultät ist in der Mathematik eine Funktion, die einer natürlichen Zahl das Produkt aller natürlichen Zahlen (ohne Null) kleiner und gleich dieser Zahl zuordnet.
Dabei gilt:
Schreibe einen Code der eine beliebige, positive natürliche Zahl einliest.
Anschließend soll die Fakultät der eingelesenen Zahl berechnet und nur das Ergebnis ausgegeben werden.
Beachte auch, dass bei 0! als Ergebnis 1 angezeigt werden muss.
Das Programm sollte in der ausführung folgendermaßen aussehen:
Ergänze dein Programm so, dass bei der Eingabe von Zahlen kleiner als 0 eine Fehlermeldung ausgegeben wird.
Das Programm soll danach keine weiteren Anweisungen durchlaufen.
Ergänze dein Programm so, dass bei fehlerhaften Eingaben die Abfrage so oft wiederholt wird, bis eine gültige Eingabe übergeben wurde.