Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:programmieren_iii [2026-04-29 15:03] – [Aufgabe I4] hof | gf_informatik:programmieren_iii [2026-04-30 05:25] (aktuell) – [For-Schleife] hof | ||
|---|---|---|---|
| Zeile 315: | Zeile 315: | ||
| ===== For-Schleife ===== | ===== For-Schleife ===== | ||
| + | <nodisp 2> | ||
| + | ++++TODO hof| | ||
| + | * Einstieg mit direkter for-Schleife. | ||
| + | * Einführung indirekte for-Schleife, | ||
| + | * Erst dann Einführung von `range`. | ||
| + | ++++ | ||
| + | </ | ||
| ==== Theorie ==== | ==== Theorie ==== | ||
| Zeile 417: | Zeile 424: | ||
| {{ : | {{ : | ||
| + | < | ||
| + | < | ||
| + | from turtle import * | ||
| + | </ | ||
| + | < | ||
| + | from turtle import * | ||
| + | |||
| + | t = Turtle() | ||
| + | t.speed(0) | ||
| + | |||
| + | t.teleport(-75, | ||
| + | for side in range(32): | ||
| + | t.forward(side * 4) | ||
| + | t.left(90) | ||
| + | |||
| + | t.teleport(75, | ||
| + | for side in range(64): | ||
| + | t.forward(side * 2) | ||
| + | t.left(90) | ||
| + | </ | ||
| + | </ | ||
| === Aufgabe I2 === | === Aufgabe I2 === | ||
| Zeile 423: | Zeile 451: | ||
| {{ : | {{ : | ||
| + | < | ||
| + | < | ||
| + | from turtle import * | ||
| + | </ | ||
| + | < | ||
| + | from turtle import * | ||
| + | |||
| + | t = Turtle() | ||
| + | t.speed(0) | ||
| + | |||
| + | for radius in range(16): | ||
| + | t.circle(radius * 5, 180) | ||
| + | </ | ||
| + | </ | ||
| === Aufgabe I3 (optional) === | === Aufgabe I3 (optional) === | ||
| Zeile 429: | Zeile 471: | ||
| {{ : | {{ : | ||
| + | < | ||
| + | < | ||
| + | from turtle import * | ||
| + | </ | ||
| + | < | ||
| + | from turtle import * | ||
| + | |||
| + | t = Turtle() | ||
| + | t.speed(0) | ||
| + | |||
| + | for side in range(28): | ||
| + | t.forward(side * 8) | ||
| + | t.left(90) | ||
| + | t.forward(side * 4) | ||
| + | t.left(90) | ||
| + | </ | ||
| + | </ | ||
| === Aufgabe I4 === | === Aufgabe I4 === | ||
| Zeile 448: | Zeile 507: | ||
| === Aufgabe I5 === | === Aufgabe I5 === | ||
| - | Wandle in möglichst kurze for-Schleife (max. 2 Zeilen) um: | + | |
| - | <code python> | + | < |
| + | <div part=" | ||
| + | Wandle in möglichst kurze < | ||
| + | <pre> | ||
| i = 10 | i = 10 | ||
| while i < 29: | while i < 29: | ||
| print(i) | print(i) | ||
| i = i + 3 | i = i + 3 | ||
| - | </code> | + | </pre> |
| - | + | </div> | |
| - | <nodisp 1> | + | <template data-type=" |
| - | + | ||
| - | ++++Lösung| | + | |
| - | <code python> | + | |
| for i in range(10, 29, 3): | for i in range(10, 29, 3): | ||
| print(i) | print(i) | ||
| - | """ | + | </template> |
| - | OUTPUT: | + | </bottom-exercise> |
| - | 10 | + | |
| - | 13 | + | |
| - | 16 | + | |
| - | 19 | + | |
| - | 22 | + | |
| - | 25 | + | |
| - | 28 | + | |
| - | """ | + | |
| - | </code> | + | |
| - | ++++ | + | |
| - | </nodisp> | + | |
| === Aufgabe I6 === | === Aufgabe I6 === | ||
| - | Finde den Index (die Position) von `" | ||
| - | `[' | + | < |
| + | <div part=" | ||
| + | < | ||
| - | **Zusatzaufgabe: | + | < |
| - | <nodisp 1> | + | <p>< |
| - | ++++Lösung| | + | </ |
| - | <code python> | + | <template data-type=" |
| + | names = [' | ||
| + | </ | ||
| + | < | ||
| + | assert " | ||
| + | assert suchen([' | ||
| + | assert suchen(" | ||
| + | </ | ||
| + | < | ||
| names = [' | names = [' | ||
| for index in range(len(names)): | for index in range(len(names)): | ||
| Zeile 498: | Zeile 555: | ||
| print(suchen(names, | print(suchen(names, | ||
| - | </code> | + | </template> |
| - | ++++ | + | </bottom-exercise> |
| - | </nodisp> | + | |
| === Aufgabe I7 === | === Aufgabe I7 === | ||
| - | **Teil 1**: Schreibe eine Funktion | + | < |
| - | Verwende dazu eine `for zahl in range(...)` Schleife. | + | <div part=" |
| + | < | ||
| + | <p>Verwende dazu eine < | ||
| - | **Teil 2**: Ändere die Funktion so, dass der Teiler über ein Funktionsargument gewählt werden kann. | + | < |
| - | Der Aufruf | + | Der Aufruf |
| Der Aufruf ohne Argument soll weiterhin die Siebnerreihe addieren. | Der Aufruf ohne Argument soll weiterhin die Siebnerreihe addieren. | ||
| - | + | </ | |
| - | <nodisp 1> | + | <template data-type=" |
| - | ++++Lösung| | + | def reihensumme(): |
| - | <code python> | + | """ |
| + | </ | ||
| + | < | ||
| + | assert reihensumme() == 385, "Teil 1: Reihensumme soll 385 zurückgeben" | ||
| + | assert reihensumme(5) == 275, "Teil 2: reihensumme(5) soll 275 zurückgeben" | ||
| + | </ | ||
| + | <template data-type=" | ||
| def reihensumme(n=7): | def reihensumme(n=7): | ||
| """ | """ | ||
| Zeile 522: | Zeile 587: | ||
| print(reihensumme()) | print(reihensumme()) | ||
| print(reihensumme(5)) | print(reihensumme(5)) | ||
| - | </code> | + | </template> |
| - | ++++ | + | </bottom-exercise> |
| - | </nodisp> | + | |
| - | === Aufgabe I8 === | ||
| - | **Teil 1**: Schreibe eine Funktion `reverse(liste)`, | ||
| - | <nodisp 1> | + | === Aufgabe I8 === |
| - | ++++Lösung| | + | <bottom-exercise id=" |
| - | < | + | <div part=" |
| - | def reverse(liste): | + | < |
| + | </ | ||
| + | < | ||
| + | def umdrehen(liste): | ||
| + | """ | ||
| + | </ | ||
| + | < | ||
| + | assert umdrehen([' | ||
| + | </ | ||
| + | < | ||
| + | def umdrehen(liste): | ||
| result = [] | result = [] | ||
| # range erzeugt eine Zahlenfolge n, n-1, ... 3, 2, 1, 0: | # range erzeugt eine Zahlenfolge n, n-1, ... 3, 2, 1, 0: | ||
| Zeile 543: | Zeile 615: | ||
| names = [' | names = [' | ||
| - | print(reverse(names))</ | + | print(umdrehen(names))</ |
| - | ++++ | + | </ |
| - | </nodisp> | + | </bottom-exercise> |