At My Fingertips

Ab- und zunehmender Mond

Die Titelanimation besteht aus 200 Bildern, die nacheinander abgespielt werden, wie ein Film. Hier sehen Sie fünf Zwischenschritte:

basic0basic0basic0basic0basic0

Lösungsvorschlag

Genau gleich wie der wachsende Mond, nur dass die Grösse des Mondes abnimmt anstatt zunimmt:

  1. die Farbkonstanten des Himmels und des Mondes erstellen
  2. eine erste Funktion verfassen, die einen Mond vor einen Himmel zeichnet und diesen als eine Grafik zurückgibt
  3. eine zweite Funktion verfassen, die Mondbilder verschiedener Mondgrössen zu einer Grafikliste vereint und zurückgibt
  4. mit dem Ausgabebefehl show_animation die Grafikliste als Film abspielen

Vorgehen

Anstatt dass Sie jetzt nochmals den gleichen Code vom wachsenden Mond schreiben oder kopieren, können Sie ihn wieder aus der Toolbox importieren, was gleich auch die Farbkonstanten des Himmels und des Mondes festlegt, ohne dass wir sie hier wieder aufschreiben müssen.

Mond importieren

(Die Farbkonstanten sind in der Mondfunktion drin.)

Loading...

Filmfunktion

Erstellen Sie eine neue Funktion, die mit der Mondfunktion eine Liste von Mond-Grafiken zurückgibt. Dabei soll die Titelanimation entstehen. (Spicken Sie so wenig wie nötig bei der Funktion vom wachsenden Mond.)

Aufbau

  1. Filmfunktion, die eine Grösse entgegennimmt und eine Liste von Grafiken zurückgibt -> list[Graphic]
    1. Akkumulator als leere Liste erstellen, z. B. film
    2. in einer for-Schleife die Liste mit Grafiken vom schrumpfenden Mond füllen
    3. die Grafikliste zurückgeben
  2. mit show_animation die Filmfunktion aufrufen und erhaltene Grafikliste als Film abspielen
Loading...

Toolbox

Fügen Sie die Funktion schrumpfender Mond Ihrer Toolbox hinzu.

Slicings mit [start:stop:step]

Sie kennen das Konzept [start:stop:step] nun schon von Strings und der range(start,stop,step)-Funktion. Man kann das in Python auch auf Listen anwenden. Praktischerweise (fieserweise) können Sie sich damit wieder ganz viel Mühe ersparen, denn mit Slicings kann man die Filmfunktion aufrufen und die Ausgabe kurzerhand mit []::-1] umkehren. Führen Sie folgende Zelle aus:

Loading...

Listen konkatenieren

Listen können Sie auch mit + aneinanderhängen. Dies nennt man konkatenieren:

Loading...

Wachsender und schrumpfender Mond

Erstellen Sie mittels Konkatenation folgende Animation:

zyklus_mond

Loading...

Toolbox

Fügen Sie auch die Funktion zyklus_mond Ihrer Toolbox hinzu.

Was Sie geübt und gelernt haben

Allgemein

  • Sie können bestehende Programme sinnvoll abändern und erweitern.
  • Sie können Probleme lösen, indem Sie diese in Teilprobleme zerlegen.
  • Sie können Datentypen und -strukturen sinnvoll einsetzen.
  • Sie können Funktionen in Ihre eigene Bibliothek aufnehmen.

Python

  • Sie können Listen in Schleifen neue Elemente hinzufügen.
  • Sie können Listen umkehren und konkatenieren.

PyTamaro

  • Sie können show_animation verwenden, um Listen von Grafiken als Animation auszugeben.

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

Ab- und zunehmender Mond

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)