At My Fingertips
Rapid Playground
Für die Programmiersprache Python wurden sehr viele Bibliotheken erstellt. Eine Bibliothek ist im Programmieren eine Sammlung von Funktionen oder Konstanten. Es gibt öffentliche Bibliotheken wie die PyTamaro-Bibliothek, oder private.
Konstanten (black
) und Funktionen (triangle
) aus Bibliotheken kann man nutzen, indem man sie zuerst importiert:
from pytamaro import show_graphic, triangle, black
show_graphic(triangle(200, 400, 50, black))
Im folgenden schauen wir uns eine Bibliothek von Python genauer an:
random
-BibliothekDie Random-Bibliothek von Python generiert pseudo-zufällige Zahlen. Aus dieser Bibliothek lernen Sie hier folgende Funktionen kennen:
randint
Führen Sie folgenden Code aus.
randint(start, stop)
gibt eine irgendeine Ganzzahl (int
) z zurück, für die gilt: start <= z <= stop
.
random
und randrange
Führen Sie folgende zwei Codezellen aus und beantworten sie dazugehörigen Fragen:
random()
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.
randint
und randrange
randint(a, b) == randrange(a, b+1)
.
Obwohl sich der Code nicht ändert, werden jedes Mal andere Werte ausgegeben. Dabei ist die Float, die von random()
ausgegeben wird, jedesmal eine andere Zahl, da ein Computersehr sehr viele Kommazahlen zwischen 0.0 und 1.0 darstellen kann. randrange(start, stop, step)
dagegen wählt nur zwischen start + step * i < stop
.
float
s0.03577240139897597, 0.019890852275249005, 0.6593401497301199, 0.10902821036573895, 0.2255892895788344, 0.8879708079967095
1.265576819795029, 1.7826829178985975, 1.7548781992778282, 1.0792465423170419,
43.60022228533834, 28.609874606337783, 85.40297838738724, 96.68627346397263, 32.402000969847435, 77.10247641317777, 85.8952407044595,
for s in range(6): print(random(), end = ", ")
for k in range(4): print(random() + 1, end = ", ")
for p in range(4): print(random() * 100, end = ", ")
int
s4, 86, 36, 64, 88, 30, 94, 20, 92, 90, 48, 100, 42, 32, 18
123_
aus, z. B. 123_123_123_123_123_123_
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
for m in range(15): print(randrange(0, 101, 2), end = ", ")
print(randrange(1, 14) * "123_", end = "")
or for n in range(randrange(1, 14)): print("123", end = ", ")
for y in range(randrange(101)): print(randrange(-994, 1001, 7), end = ", ")
Color
sUm folgende Grafik herzustellen, kann man mit randrange
bei jedem Schleifendurchlauf den Rotwert zufällig bestimmen.
rgb_color
Ergänzen Sie folgenden Code, so dass bei jedem Schleifendurchlauf der Rotwert zufällig neu bestimmt wird. Welchen Stopwert wählen Sie?
rotwert = randrange(256)
hsl_color
Ergänzen Sie folgenden Code, so dass bei jedem Schleifendurchlauf die Helligkeit zufällig neu bestimmt wird. Wie gross darf der HSL-Helligkeitswert überhaupt sein?
helligkeit = random()
rotate
Ergänzen Sie obigen Code so, dass ungefähr die Titelgrafik mit den verschiedenfarbigen und verschieden rotierten Sternen dargestellt wird.
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))
compose
Sie können auch kleinere Grafiken (z. B. Sterne oder Blumen) zufällig auf einer grösseren Grafik (z. B. ein Himmel oder eine Wiese) positionieren:
Gehen Sie zur Aktivität Sternenhimmel um zu sehen, wie das geht.
Mit Zufallszahlen kann man jeden Funktionsparameter aufpimpen. So können Sie z. B.
Fügen Sie ausgewählte Funktionen der Toolbox hinzu.
random()
, randint(start, stop)
und randrange(start, stop, step)
aus der Python-Bibliothek Random verwenden, um Zahlen und Grafiken mit Zufallselementen auszugeben.This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Zufall nutzen
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)