At My Fingertips

In Teilprobleme zerlegen

tulpe

Musterlösung

A. Blütenblätter (Um die Ausgabegrafik zu sehen, klicken Sie auf das kleine Dreieck links.) bluetenblaetter
  1. Blütenblatt links: Zeichnen Sie einen Viertelkreise mit circular_sector.
  2. Blütenblatt rechts: Zeichnen und drehen Sie einen zweiten Kreissektor passend mit rotate.
  3. Blütenblätter: Stellen Sie sie nebeneinander mit beside.
B. Blütenkopf blueten_kopf
  1. Stempel: Zeichnen Sie den gelben Hintergrundhalbkreis mit circular_sector.
  2. Blütenkopf: Legen Sie die zwei Blütenblätter davor mit overlay.
C. Tulpenkopf tulpe
  1. Blütenboden: Erstellen Sie die untere Hälfte der Blüte mit circular_sector und rotate.
  2. Tulpenkopf: Setzen Sie den Blütenkopf über den Blütenboden mit above.

bluetenblaetter

Loading...
Um die Musterlösung zu sehen, klicken Sie auf das kleine Dreieck links.
from pytamaro import (
    circular_sector, red, 
    rotate, beside, show_graphic
)

show_graphic(
    beside(
        circular_sector(100, 90, red),
        rotate(90, circular_sector(100, 90, red))
    )
)

In der Musterlösung sehen Sie, dass nicht nur die Grafikausgabe über mehrere Zeilen verteilt ist (damit der Code übersichtlicher ist), sondern auch die importierten Befehle. Bei den Importbefehlen sind Klammern (...) genau dann zwingend, wenn die importierten Befehle über mehrere Zeilen verteilt sind.

blueten_kopf

Loading...
Musterlösung
from pytamaro import yellow, overlay
# Schritt 4
show_graphic(circular_sector(100, 180, yellow))
# Schritt 5
show_graphic(
    overlay(
        beside(
            circular_sector(100, 90, red),
            rotate(90, circular_sector(100, 90, red))
        ),
        circular_sector(100, 180, yellow)
    )
)

Lösungserklärungen

Der Hashtag in # Schritt 4 signalisiert einen Kommentar. Das ist also 'Code', der vom Computer ignoriert wird. Kommentare sind nur für Menschen gedacht und sollen uns helfen zu verstehen, was im Code passiert. Ein Computer ignoriert alle Zeichen in einer Zeile nach dem #.

Von der PyTamaro-Bilbiothek müssen nur noch Befehle importiert werden, die wir in obigen Codezellen noch nicht importiert haben.

Loading...
Musterlösung
from pytamaro import above

show_graphic(
    above(
        overlay(
            beside(
                circular_sector(100, 90, red),
                rotate(90, circular_sector(100, 90, red))
            ),
        circular_sector(100, 180, yellow)
        ),
        rotate(180, circular_sector(100, 180, red))
    )
)

Variablen als Zwischenspeicher

Wahrscheinlich haben Sie nun Mühe, Ihren Code zu verstehen, weil er zu lang wurde. Zusätzlich zum Zeilenumbruchstil gibt noch weitere Möglichkeiten, um Code besser lesbar - und wiederverwendbar - zu machen: Variablen verwenden. Variablen können u. a. als Zwischenspeicher von Werten (Text, Zahlen, Grafiken etc.) verwendet werden. Der Code von oben, aber mit anderer Blütenfarben, könnte dann wie folgt aussehen (führen Sie folgende Codezelle aus):

Loading...

Code-Erklärung

Der Variable bluetenblatt_links auf der linken Seite des = wird die erstellte Grafik aus circular_sector(100, 90, magenta) zugewiesen. Um dann die Grafik in dieser Variable aufzurufen und auszugeben, übergibt man sie dem Befehl show_graphic(bluetenblatt_links).

Loading...
Musterlösung
bluetenblatt_rechts = rotate(90, circular_sector(100, 90, red))
show_graphic(bluetenblatt_rechts)
Loading...
Musterlösung
bluetenblaetter = beside(bluetenblatt_links, bluetenblatt_rechts)
show_graphic(bluetenblaetter)
Loading...
Musterlösung
# Schritt 4
stempel = circular_sector(100, 180, yellow)
show_graphic(stempel)
# Schritt 5
blueten_kopf = overlay(bluetenblaetter, stempel)
show_graphic(blueten_kopf)
Loading...
Musterlösung
# Schritt 6
blueten_boden = rotate(180, circular_sector(100, 180, magenta))

# Schritt 7
tulpe = above(blueten_kopf, blueten_boden)
show_graphic(tulpe)

Was Sie geübt und gelernt haben

Lösungsstrategien

  • Sie können Probleme lösen, indem sie diese in Teilprobleme zerlegen.
  • Sie können bestehende Programme sinnvoll abändern und erweitern.

Python

  • Sie können den Importbefehl über mehere Zeilen darstellen.
  • Sie können einen Wert einer Variablen mit = zuweisen und diese Variable weiterverwenden (Variablen als Zwischenspeicher).
  • Sie können Kommentare mit dem Zeichen # verwenden und Kommentare erklären.

PyTamaro

  • Sie können Grafiken mit der PyTamaro-Bibliothek erstellen.

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

It is derived from this activity.

Tulpe

Logo of PyTamaro

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

Privacy PolicyPlatform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)