Grafik 1:
Grafik 2:
Die Sterne der ersten Grafik sind verschiedener Grösse (stetig steigend), die Sterne der anderen Grafik nicht. Die erste Grafik hat zudem 7 Sterne, die zweite 8.
def reihe_a(anzahl: int, farbe: Color) -> Graphic:
SEITE = 50
STERN = compose(
triangle(SEITE, SEITE, 60, farbe),
rotate(180, triangle(SEITE, SEITE, 60, farbe))
)
reihe = empty_graphic()
for n in range(anzahl):
reihe = beside(reihe, STERN)
return reihe
show_graphic(reihe_a(8, rgb_color(250, 10, 250)))
def reihe_b(anzahl: int, farbe: Color) -> Graphic:
reihe = empty_graphic()
for n in range(anzahl):
seite = n * 10
stern = compose(
triangle(seite, seite, 60, farbe),
rotate(180, triangle(seite, seite, 60, farbe))
)
reihe = beside(reihe, stern)
return reihe
show_graphic(reihe_b(8, rgb_color(250, 10, 250)))
In der Funktion reihe_a bleibt der Wert der Variable SEITE immer gleich und damit auch die Grösse der Sterne. Man erkennt das auch daran, dass der Wert der Variable STERN vor der Schleife genau einmal zugewiesen wird. Dass sich der Wert dieser Variablen nicht ändert, wird auch (stilistisch) durch ihre Grossschreibung signalisiert. Überprüfen Sie:
In der Funktion reihe_b wird der Wert der Variable seite bei jedem Schleifendurchlauf neu berechnet. Der Wert in seite ist abhängig von der sich ändernden Schleifenvariable n. Damit ändert sich auch der Wert der Variable stern bei jedem Schleifendurchlauf: Der Stern, der neu hinzugefügt wird, wird bei jedem Schleifendurchlauf grösser. Überprüfen Sie:
A. Weil der erste Stern der Grafik mit den sich verändernden Sternen eine Seitenlänge von 0 hat: Er ist also nicht sichtbar, es gibt ihn nicht.
B. Schritt 1 wird jetzt erst in der Schleife ausgeführt, da die Grafik bei jedem Schleifendurchlauf neu berechnet werden kann:
def reihe_b(anzahl: int, farbe: Color) -> Graphic:
reihe = empty_graphic() # 2 Akkumulator (leer) erstellen
for n in range(anzahl):
seite = n * 10
stern = compose( # 1 zuzufügendes Element
triangle(seite, seite, 60, farbe),
rotate(180, triangle(seite, seite, 60, farbe))
)
reihe = beside(reihe, stern) # 3 Akkumulator füllen
return reihe # 4 Akkumulator (gefüllt) zurückgebenSicherlich haben Sie bemerkt, dass in der Funktion reihe_a die Variablen SEITE und STERN in Grossbuchstaben geschrieben sind, jedoch in reihe_b in Kleinbuchstaben: seite und stern.
Man schreibt in vielen Programmiersprachen Variablen mit Grossbuchstaben, wenn sie Konstanten sind. Konstanten sind Variablen, deren Wert sich nie ändert. Um dies in Python stilistisch zu signalisieren, können solche Variablen gross geschrieben werden.
(Die Variablen seite und stern sind mit Kleinbuchstaben geschrieben, weil sich ihr Wert immer wieder verändert, es sind also variable Variablen, keine Konstanten.)
Für den Baumstrunk haben Sie vermutlich eine Variable verwendet, aber nicht für die Äste, die sind ja variabel in ihrer Grösse. Zudem bleiben die vorgegebenen Farben jeweils konstant: GRUEN, BRAUN.
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Schleifen: Variation

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 3ec0cab (Tue, 28 Oct 2025 16:56:29 GMT)