At My Fingertips

Documentation

Sprache und Bibliothek

Programmiersprache

Python ist eine Programiersprache. Programmiersprachen sind eigenständig lauffähige Einheiten. Befehle können also ohne weitere Importe ausgeführt werden, alle wichtigen Befehle sind bereits vorhanden:

Loading...

Bibliothek

Für die Programmiersprache Python wurden sehr viele Bibliotheken erstellt. Eine Bibliothek, z. B. pytamaro, baut auf einer Programmiersprache auf und bietet zusätzliche Funktionen (rectangle, show_graphic) oder Konstanten (black, transparent). Für die Programmiersprache Python gibt es sehr viele öffentliche Bibliotheken wie math, turtle und numpy. Man kann auch private Bibliotheken erstellen und nutzen (wie zum Beispiel die toolbox auf dieser Webseite).

Um Konstanten (black) und Funktionen (rectangle) aus Bibliotheken zu nutzen, importiert man sie zuerst mit from someLibrary import some_function, some_constant.

Loading...

Folgendes Programm wird einen Fehler auswerfen, da Python einen Teil der Befehle und Konstanten nicht kennt:

Loading...

Erst nach dem Import kennt Python diese Befehle und Konstanten.

Lösung

from pytamaro import triangle, green

Im Folgenden schauen wir uns andere Bibliotheken von Python genauer an: random und math.

random

Die Random-Bibliothek von Python generiert pseudo-zufällige Zahlen. Aus dieser Bibliothek lernen Sie hier folgende Funktionen kennen:

Loading...
Antwortrandint(start, stop) gibt eine irgendeine Ganzzahl (int) z zurück, für die gilt: start <= z <= stop.

Der Unterstrich _ in der for-Schleife wird übrigens als Variablenname verwendet, wenn diese Schleifenvariable nicht selbst verwendet wird, sie ist nur ein Platzhalter in der for-Schleife.

Loading...
Loading...
Antwortrandom gibt eine Gleitkommazahl float z zurück, für die gilt: 0.0 <= z < 1.0. randrange(start, stop, step) wählt eine Integer von range(start, stop, step) aus und gibt diese zurück.
Antwort
randint(a, b) == randrange(a, b+1)

Zusammenfassung

Obwohl sich der Code nicht ändert, werden nach jedem Ausführen des Programms andere Werte ausgegeben. Dabei ist die Float, die von random ausgegeben wird, jedesmal eine andere Zahl, da ein Computer sehr viele Kommazahlen zwischen 0.0 und 1.0 darstellen kann. randrange(start, stop, step) dagegen wählt nur zwischen start + step * i < stop.

Weil es sich bei random um eine Bibliothek mit pseudo-zufälligen Zahlen handelt, ist die Zufälligkeitsreihenfolge aber wiederholbar und meist mit der in anderen Zellen oder auf anderen Geräten identisch.

  1. ... 6 Floats zwischen 0 und 1 aus, z. B. 0.03577240139897597, 0.019890852275249005, 0.6593401497301199, 0.10902821036573895, 0.2255892895788344, 0.8879708079967095
  2. ... 4 Floats zwischen 1 und 2 aus, z. B. 1.265576819795029, 1.7826829178985975, 1.7548781992778282, 1.0792465423170419,
  3. ... 7 Floats zwischen 0 und 100 aus, z. B. 43.60022228533834, 28.609874606337783, 85.40297838738724, 96.68627346397263, 32.402000969847435, 77.10247641317777, 85.8952407044595,
Loading...

Lösungen

6 Floats zwischen 0 und 1
for _ in range(6): 
    print(random(), end = ", ")
4 Floats zwischen 1 und 2
for _ in range(4): 
    print(random() + 1, end = ", ")
7 Floats zwischen 0 und 100
for _ in range(7): 
    print(random() * 100, end = ", ")
  1. ... 15 gerade Integers zwischen 0 bis inkl. 100 aus, z. B. 4, 86, 36, 64, 88, 30, 94, 20, 92, 90, 48, 100, 42, 32, 18, in zufälliger Reihenfolge.
  2. ... zufällig oft (1 bis 14 Mal) die Zeichenfolge 123_ aus, z. B. 123_123_123_123_123_123_
  3. ... zufällig oft (0 bis 100 Mal) eine zufällige Zahl zwischen -1000 und (inkl.) 1000 aus, die durch 7 teilbar ist, z. B. 497, 280, -210, -112, 987, -350, -567, 105, -98, 973, 637, -140, 700, -42, 616, 168, -21, -119, 322, 798, 854, -868, 686, 252, -966, 462, -98
Loading...

Lösungen

15 gerade Integers
for _ in range(15): 
    print(randrange(0, 101, 2), end = ", ")
123_ zufällig oft
print(randrange(1, 15) * "123_", end = "")
# or 
for _ in range(randrange(1, 15)): 
    print("123", end = ", ")
durch 7 teilbar
for _ in range(randrange(101)): 
    print(randrange(-994, 1001, 7), end = ", ")

Colors

Um folgende Grafik herzustellen, kann man mit randrange bei jedem Schleifendurchlauf den Rotwert zufällig bestimmen.

bild

Loading...
Lösung
rotwert = randrange(256)

hsl

Tipp: Schauen Sie sich auch die Dokumentation der Funktion hsl_color an.

Loading...
Lösung
helligkeit = random()

Achtung: Für diese Aufgaben ist Wissen zu Funktionen notwendig.

rotation

Lösung
# Ersetzen Sie den letzten Befehl im *Schleifenkörper* 
# mit folgendem Zweizeiler: 
rotation = randrange(60)
reihe = beside(reihe, rotate(rotation, stern))

# Ersetzen Sie den *Aufruf* zudem mit folgendem Dreizeiler: 
zfr = zufaellige_sterne(500, 4)
zfr_1 = zufaellige_sterne(500, 4)
show_graphic(above(zfr, zfr_1))

math

Die math-Bibliothek von Python stellt verschiedene mathematische Funktionen und wichtige Zahlen als Konstanten zur Verfügung. Sie lernen hier benutzen:

  1. Berechnen Sie den Kreisumfang eines Kreises mit Radius 12.
  2. Berechnen Sie die Diagonale eines Quadrats mit Seitenlänge 8.
  3. Zeichen Sie einen Kreis (in irgendeiner Farbe), der eine Fläche von 5000 Pixel² hat.
Loading...
Lösung
from math import pi
radius = 12
umfang = 2 * pi * radius
print(umfang)
Loading...
Lösung
from math import sqrt
seite = 8
diagonale = sqrt(2) + seite
print(diagonale)
Loading...
Lösung
from math import pi, sqrt # nicht nötig, da bereits oben importiert
from pytamaro import circular_sector, show_graphic, blue

flaeche = 5000
radius = sqrt(flaeche / pi)
kreis = circular_sector(radius, 360, blue)
show_graphic(kreis)

Ideen

Mit Zufallszahlen kann man viele Grafiken natürlicher oder spannender aussehen lassen. So können Sie z. B.

  • Sternen zufällig am Himmel verteilen (vgl. Aktivität Sternenhimmel)
  • eine Wiese mit verschieden grossen Grashalmen erstellen, ohne dass es zu regelmässig aussieht oder zu stark variiert.
  • Blumen in verschiedenen Farben und Schattierungen verwenden.
  • einen Himmel mit zufällig vielen und zufällig platzierten Sternen bedecken.
  • Sie können eine Figur zufällig schnell bewegen/ animieren.
  • Sie können zufällig auswählen, ob ein Kreis, Quadrat, Dreieck, ... gezeichnet wird.

image.png

Was Sie gelernt und geübt 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 sinnvoll einsetzen.

Python

  • Sie können die Funktionen random, randint(start, stop) und randrange(start, stop, step) aus der Python-Bibliothek random verwenden, um Zahlen und Grafiken mit Zufallselementen auszugeben.
  • Sie können die Funktion sqrt und die Konstante pi aus der Bibliothek math verwenden.

PyTamaro

  • Sie können Befehle mit zufällig gewählten Parametern erstellen. Sie verstehen, dass so (fast) nie dieselbe Grafik entsteht.
  • Sie können pytamaro mit anderen Bibliotheken kombiniert verwenden.

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

Zufall nutzen

Logo of PyTamaro

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

Privacy PolicyPlatform Version e1c4550 (Sun, 23 Feb 2025 15:42:54 GMT)