At My Fingertips
Rapid Playground
Folgendes GIF (Animation) besteht aus 200 Bildern, die nacheinander abgespielt werden, wie ein Film.
Ein immer gleicher Ball liegt auf einer unsichtbaren 'wachsenden' Grafik, z. B. ein transparentes Rechteck oder eine Ellipse der Breite Null.
Hier sehen Sie fünf mögliche Zwischenschritte, wobei der Sockel zu Debugging-Zwecken sichtbar ist:
Ergänzen Sie folgende Funktion, so dass genau die Titelbilder ausgegeben werden. pos_y
gibt die Distanz des Balls zum 'Boden' an.
Verstecken Sie oben noch das Positionsviereck, im GIF ist es ja nicht sichtbar.
Erstellen Sie eine neue Filmfunktion, die 200 Bilder des (immer neu positionierten) Balls erstellt und diese in eine Liste von Grafiken einfügt. Diese Liste von Grafiken ist der Rückgabewert der Filmfunktion. So kann dann die Liste von Grafiken als Titelanimation abgespielt werden. Spicken Sie wenn nötig bei einer vorher besprochenen Animation.
-> list[Graphic]
film
oder frame_liste
Fügen Sie die Funktion Ihrer Toolbox hinzu.
Sie kennen das Konzept des Slicens (schneiden) mit [start:stop:step]
nun schon von Strings und der range(start, stop, step)
-Funktion. Man kann das in Python auch auf Listen anwenden. Praktischerweise können Sie sich damit wieder ganz viel Mühe ersparen, denn man kann die Filmfunktion aufrufen und dann gleich die Ausgabe kurzerhand mit einem Slice-Befehl umkehren, z. B.
umgekehrte_liste = erstelle_eine_liste(40, 2, magenta)[::-1]
Ergänzen Sie folgende Zelle, um einen fallenden Ball zu animieren.
Listen können Sie auch mit +
aneinanderhängen, Fachbegriff konkatenieren:
Erstellen Sie mittels Konkatenation folgende Animation:
Refaktorieren (wiederverwenden) Sie die Funktion, die einen Film von einem steigenden Ball erstellt. Sie müssen also nur 1-3 Zeilen Code schreiben.
Fügen Sie auch diese Funktion Ihrer Toolbox hinzu.
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Rauf und runter
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 320e1c5 (Thu, 16 May 2024 14:11:39 GMT)