At My Fingertips

Schleifen: Grafikreihen

Aufwärmen

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:

Loading...

Lösung

  1. reihe ist die Akkumulatorvariable: Sie akkumuliert (sammelt, speichert, zählt zusammen) alle Werte (hier die Grafiken karo) in einer bestimmten Anordnung.
  2. _ 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

nbeside(reihe, karo)reihe (neu)
0beside(0x0, ♦)
1beside(♦, ♦)♦♦
2beside(♦♦, ♦)♦♦♦
3beside(♦♦♦, ♦)♦♦♦♦
.........
7beside(♦♦♦♦♦♦♦, ♦)♦♦♦♦♦♦♦♦

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 (♦♦♦♦♦♦♦♦).

Vier Grundschritte

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.

Anwendungen

turm

Vorgehen

  1. die sich zu wiederholende Grafik erstellen: etage etage

  2. den Akkumulator (leer) erstellen: turmbau

  3. die sich wiederholenden Grafiken in einer Schleife zusammenstellen

  4. den Akkumulator zurückgeben

Loading...
Lösung
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

textregen

Gehen Sie die gleichen Schritte durch wie oben:

  1. text benutzen, um die sich zu wiederholende regen_zeile zu zeichnen: regen_zeile
  2. Akkumulator regen (leer) erstellen
  3. for-Schleife benutzen, um mehrere regen_zeilen übereinander zu zeichnen
  4. Akkumulator zurückgeben
Loading...
Lösung
from 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

Was Sie geübt und gelernt haben

Programmierkonzepte

  • Sie können die Konzepte Akkumulator und Schleifenvariable (Laufvariable, Index) in eigenen Worten erklären und verwenden.
  • Sie können Wertetabellen für Schleifen nicht nur mit dem Datentyp Integer, sondern auch mit Graphic erstellen.
  • Sie können gut lesbaren, strukturierten und modularisierten Programmiercode schreiben.
  • Sie können bestehende Programme sinnvoll abändern und erweitern.
  • Sie können Befehlssequenzen manuell (Schritt-für-Schritt) durchführen und das Ergebnis bestimmen.
  • Sie können Probleme lösen, indem Sie diese in Teilprobleme zerlegen.

Python

  • Sie verwenden den Variablennamen _, wenn der Wert der Schleifenvariable nicht verwendet wird.

PyTamaro

  • Sie können Schleifen verwenden, um Grafiken zu erstellen.
  • Sie können die vier Grundschritte, um eine Grafik mit Schleife zu bauen, in eigenen Worten erklären und verwenden.

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

Schleifen: Grafikreihen

Logo of PyTamaro

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

Privacy PolicyPlatform Version c3a8286 (Mon, 14 Oct 2024 13:30:28 GMT)