At My Fingertips
Rapid Playground
from pytamaro import (
Color, Graphic, rotate, beside, empty_graphic,
rectangle, rgb_color, show_graphic
)
BLAU = rgb_color(15, 150, 250)
def karo_reihe(anzahl: int, farbe: Color) -> Graphic:
karo = rotate(45, rectangle(50, 50, farbe))
reihe = empty_graphic()
for _ in range(anzahl): # _ ist eine Variable
reihe = beside(reihe, karo)
return reihe
show_graphic(karo_reihe(8, BLAU))
Lösung: Acht Quadrate auf einer Ecke stehend (Karos), nebeneinander. Überprüfen Sie mit folgender Codezelle:
Lösung
reihe
ist die Akkumulatorvariable: Sie akkumuliert (sammelt, speichert, zählt zusammen) alle Werte (hier die Grafiken karo
) in einer bestimmten Anordnung._
ist die Schleifenvariable (Laufvariable, Indexvariable): Sie wird im Schleifenkopf for _ in range(anzahl):
initialisiert und nimmt bei jedem Schleifendurchlauf den nächsten Wert ein. Alle Werte der Schleifenvariable werden auch im Schleifenkopf definiert, hier mit dem Befehl range
. Wir verwenden den Variablennamen _
in Python, wenn der Wert der Schleifenvariable nicht verwendet wird.Lösung
n | beside(reihe, karo) | reihe (neu) |
---|---|---|
0 | beside(0x0 , ♦) | ♦ |
1 | beside(♦, ♦) | ♦♦ |
2 | beside(♦♦, ♦) | ♦♦♦ |
3 | beside(♦♦♦, ♦) | ♦♦♦♦ |
... | ... | ... |
7 | beside(♦♦♦♦♦♦♦, ♦) | ♦♦♦♦♦♦♦♦ |
Bei Grafiken ist der Startwert von Akkumulatoren oft eine Grafik der Grösse 0x0
, empty_graphic
, also das Grafikäquivalent zur Zahl 0.
Die Ausgabe erfolgt nicht als Seiteneffekt, deshalb wird nur das Endprodukt ausgegeben (♦♦♦♦♦♦♦♦).
Oft ist Grafikcode mit Schleifen in vier Grundschritten aufgebaut. Diese sind als Kommentare im Code markiert:
def karo_reihe(anzahl: int, farbe: Color) -> Graphic:
# 1. die sich zu wiederholende Grafik erstellen:
karo = rotate(45, rectangle(50, 50, farbe))
# 2. den Akkumulator (leer) erstellen
reihe = empty_graphic()
# 3. die sich wiederholenden Grafiken in
# einer Schleife zusammenstellen:
for _ in range(anzahl):
reihe = beside(reihe, karo)
# 4. den Akkumulator zurückgeben
return reihe
Verwenden Sie nun diese vier Schritte, um Grafiken zu erstellen.
die sich zu wiederholende Grafik erstellen: etage
den Akkumulator (leer) erstellen: turmbau
die sich wiederholenden Grafiken in einer Schleife zusammenstellen
den Akkumulator zurückgeben
from pytamaro import rgb_color, overlay, white, above
GRAU = rgb_color(47, 79, 79)
def turm(anzahl_etagen: int) -> Graphic:
seite = 60
etage = overlay( # 1
rectangle(seite / 2, seite / 2, white),
rectangle(seite, seite, GRAU)
)
turmbau = empty_graphic() # 2
for _ in range(anzahl_etagen): # 3
turmbau = above(turmbau, etage)
return turmbau # 4
Gehen Sie die gleichen Schritte durch wie oben:
regen_zeile
zu zeichnen: regen
(leer) erstellenfor
-Schleife benutzen, um mehrere regen_zeile
n übereinander zu zeichnenfrom pytamaro import text, above
def text_regen(anzahl: int, txt: str) -> Graphic:
regen_zeile = text(txt, SCHRIFTART, 52, REGENFARBE)
spalte = empty_graphic()
for _ in range(anzahl):
spalte = above(spalte, regen_zeile)
return spalte
Graphic
erstellen._
, wenn der Wert der Schleifenvariable nicht verwendet wird.This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Schleifen: Grafikreihen
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)