At My Fingertips

Documentation

Hier lernen Sie die for-Schleife und die Funktion range kennen.

1. Tag
2. Tag
3. Tag
4. Tag
5. Tag
6. Tag
7. Tag
Loading...
Lösung
print("1. Tag")
print("2. Tag")
print("3. Tag")
print("4. Tag")
print("5. Tag")
print("6. Tag")
print("7. Tag")

Schleife I

pic1

Theorie

Der Codeblock (hier eine Zeile) mit dem print-Befehl wird im obigen Code genau 10 Mal ausgeführt. Beim ersten Durchlauf wird der Variable x der Wert 0 zugewiesen, beim zweiten Durchlauf der Wert 1, und so weiter. 10 ist der stop-Wert. Das heisst, sobald x den Wert 10 annimmt, hört die Schleife auf, ohne dass der Befehlsblock in der Schleife, also print(x), nochmals ausgeführt wird.

Aufgaben

Lösung 9

Anwendung

Loading...
Lösung 10 mal, x werden je die Werte von 0 bis 9 zugewiesen. x wird durch print ausgegeben. Sobald x den Wert 10 annimmt, wird die Schleife abgebrochen.
Lösung 3

Schleife II

Theorie

pic2

Bei Schleifen spricht man auch vom Schleifenkopf, hier die Zeile mit for, und vom Schleifenkörper. Der Schleifenkörper ist der Teil, der wiederholt ausgeführt wird. Man erkennt den Schleifenkörper daran, dass er eingerückt ist, also einen Indent (Einzug) von 4 Leerschlägen ( = 1 Tabulator) hat, und direkt unter dem Schleifenkopf steht. Sobald kein Indent mehr besteht, gehören alle kommenden Ausdrücke nicht mehr zum Schleifenkörper und werden nur noch einmal ausgeführt (*), hier z. B. print("fertig").

Wenn Sie die Funktion range(zahl) mit 1 Argument aufrufen, wird dieses Argument als stop-Wert interpretiert. start ist standardmässig (by default) 0 und step standardmässig 1. Wenn Sie range mit 2 Argumenten aufrufen, werden diese Argumente als start und stop interpretiert, bei 3 Werten als start, stop und step.

Wenn Sie rückwärts zählen, z. B. von 10 nach 1, müssen Sie den Wert von step anpassen:

for i in range(10, 0, -1):
    print(i, end = ", ")

(*) Ausser wenn dieser Ausdruck nie erreicht wird oder selbst im Körper einer anderen Schleife steht.

Aufgaben

pic4

Reflexion

Lösung erster Wert ist 5, letzter Wert ist 10, jedoch wird 10 nie ausgegeben, da die Schleife zuvor abgebrochen wird.
Lösung jeweils die Quadratzahl von a, also 25, 36, 49, 64, 81
Lösungrange(10, 20)

Anwendung (je nur 1 Schleife)

Ausgabe soll sein:

6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 
51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90,
Loading...
Lösung
for x in range(6, 91, 3): 
    print(x, end=", ")

Ausgabe soll sein:

1 * 1 = 1 | 2 * 2 = 4 | 3 * 3 = 9 | 4 * 4 = 16 | 5 * 5 = 25 | 6 * 6 = 36 | 7 * 7 = 49 | 8 * 8 = 64 | 9 * 9 = 81 | 10 * 10 = 100 |
Loading...
Lösung
for q in range(1, 11): 
    print(q, "*", q, "=", q*q, end=" | ")
Loading...
Lösung
for q in range(20, 10, -1): 
    print(q**2, end=" | ")

Anwendung mit 1-2 Schleifen

Loading...
Lösung
for g in range(1, 11): 
    print(g * 5, end= " ")
1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100
Loading...
Lösung
for i in range(1, 11):
    for g in range(1, 11):
        print(g * i, end= " ")
    print()
  1. Wenn die Zahl zwischen 2 und 10 liegt (inklusive beide Grenzzahlen), soll "Spielkarte" und die Zahl ausgegeben werden.
  2. Wenn die Zahl ein Vielfaches von 13 ist (verwenden Sie % und ==), soll "Pech" und die Zahl ausgegeben werden.
  3. Wenn die Zahl 100 beträgt, geben Sie "Ende" und die Zahl aus.
  4. Bei den anderen Zahlen geschieht nichts. 
Loading...
Lösung
for zahl in range(0, 101):
    if 2 <= zahl and zahl <= 10:
        print("Spielkarte", zahl)
    elif zahl % 13 == 0:
        print("Pech", zahl)
    elif zahl == 100:
        print("Ende", zahl)

Was Sie geübt und gelernt haben

Lösungsstrategien

  • Sie erkennen repetitive und variable Codestücke und können daraus Schleifen ableiten.

Python

  • Sie können for-Schleifen erstellen und verwenden, um Code kurz und übersichtlich zu halten.
  • Sie erkennen Schleifenkopf und Schleifenkörper und können anhand des Indents erkennen, welche Codeblöcke (nicht) zu einer Schleife gehören.
  • Sie können die Funktion range(start, stop, step) in Schleifenköpfen verwenden.
  • Sie können die Funktion print(*args, sep=", ", end="\n") verwenden.

PyTamaro

--


This activity has been created by Gall and is licensed under CC BY-SA 4.0.

for-Schleife: Einführung

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version 1cd5229 (Tue, 05 Nov 2024 16:55:57 GMT)