230
Der Zufall und bedingte Schleifen
Kapitel
9
Eine torkelnde Turtle
Bis jetzt haben wir Dreiecke, Vierecke, Polygone, Rosetten (auch Super-),
Kreise, Kreisbögen untersucht, und was man alles daraus machen kann:
schön regelmäßige geometrische Figuren. Jetzt ist es Zeit für etwas Neues:
etwas richtig Chaotisches, Zufälliges.
Ich stelle mir eine Turtle vor, die nicht immer
in die Richtung weiterläuft, die wir ihr vor-
schreiben, sondern (mehr oder weniger) in
eine zufällige Richtung. Vielleicht hat sie zu
tief ins Glas geschaut oder sie hat Schwindel-
anfälle wegen zu niedrigen Blutdrucks. Egal.
Mögliche Wege der torkelnden Turtle.
Um so etwas in ein Programm einzubauen,
brauchen wir eine Funktion, die uns so
genannte Zufallszahlen erzeugt. Python hat
ein Modul, das sich mit Zufallsdingen befasst
und mehrere solcher Funktionen enthält.
Dieses Modul heißt
random
. Bevor wir uns ans Programmieren der torkeln-
den Turtle machen, sehen wir uns eine derartige Funktion genauer an.
Der Zufallsgenerator »randint()«
randint()
ist eine Funktion aus dem Modul
random
. »Random« ist ein
englisches Wort und bedeutet so viel wie zufällig.
Die Funktion
randint()
liefert ganze Zufallszahlen aus einem wählbaren
Bereich:
>
Mach mit!
>>> import random
>>> random.randint(1,10)
5
231
Der Zufallsgenerator »randint()«
Wir haben hier einfach nur das Modul importiert. Wir können nun alle
Funktionen aus
random
anwenden, indem wir
random.Funktionsnamen
schreiben – wie wir es eben mit
randint()
getan haben.
Hier eine Life-Session mit dem IPI:
Dieses Ergebnis ist sonderbar, aber eigentlich herzlich nichts sagend. Deines
ist vielleicht nicht ganz so sonderbar. Aber über Zufallsergebnisse lässt sich
aus Einzelereignissen nichts sagen. In der Dokumentation zum Modul
random
steht:
randint(a,b)
erzeugt eine Zufallszahl
z
im Bereich
a
z
b
. Um das zu erahnen, müssen wir mit mehr Zahlen experimentieren:
>>> for i in range(20):
print(random.randint(1,6), end=
" ")
4 6 3 4 6 6 6 3 6 2 6 6 2 3 4 3 6 2 2 4
Hier kommen die Zahlen 1 und 5 nicht vor. Merkwürdiger Zufall! (?) Ein
zweiter gleicher Aufruf liefert mit einer ganz anderen Zufallsfolge Klarheit
darüber:
>>> for i in range(20):
print(random.randint(1,6), end=
" ")
4 4 2 6 6 5 6 4 3 1 1 1 1 5 4 4 3 3 4 2
Ein Zufallsgenerator kann
durchaus sehr merkwürdige
Ergebnisse liefern!

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.