Deutsch English |
DU LERNST HIER... |
wie man vorgehen muss, damit Programmblöcke nur unter gewissen Bedingungen ausgeführt werden. Du lernst auch, wie man Bedingungen negiert und wie man sie mit Und-, sowie Oder-Operatoren kombiniert. |
MUSTERBEISPIEL |
In deinem Programm erzeugst du mit dem Befehl randint(-250, 250) zwei Zufallszahlen x und y und lässt die Turtle an die Position (x, y) springen. Dort zeichnest einen roten Punkt, wenn sich die Turtle innerhalb des Kreises mit dem Radius 250 befindet, sonst einen grauen Punkt. Diesen Vorgang wiederholst du 10 000 Mal. Manchmal wird dies auch als Zufallsregen bezeichnet. Befindet sich die Turtle innerhalb des Kreises, so gilt nach dem Satz von Pythagoras, dass ihr Abstandsquadrat rsquare zum Ursprung kleiner als 250 * 250 = 62500 ist.
Programm: from gturtle import * from random import randint makeTurtle() hideTurtle() repeat 10000: x = randint(-250, 250) y = randint(-250, 250) setPos(x, y) rsquare = x * x + y * y if rsquare < 62500: setPenColor("red") dot(4) else: setPenColor("gray") dot(4) |
MERKE DIR... |
Statt zu sagen, dass eine Bedingung erfüllt oder nicht erfüllt ist, sagt man auch, die Bedingung sei wahr oder falsch. Sollen die grauen Punkte nicht gezeichnet werden, kannst du den else-Teil auch weglassen. Versuche es! Falls du das Programm vorzeitig abbrechen willst, so klickst du auf den roten quadratischen Button. |
BEDINGUNGEN MIT UND VERKNÜPFEN |
Programm: from gturtle import * from random import randint makeTurtle() hideTurtle() repeat 10000: x = randint(-250,250) y = randint(-250,250) setPos(x, y) if x > -100 and x < 100: setPenColor("red") dot(4) else: setPenColor("gray") dot(4) |
BEDINGUNGEN MIT OR VERKNÜPFEN |
Programm: from gturtle import * from random import randint makeTurtle() hideTurtle() repeat 10000: x = randint(-250,250) y = randint(-250,250) setPos(x, y) if (x > -50 and x < 50) or (y > -50 and y < 50): setPenColor("red") dot(4) else: setPenColor("gray") dot(4) |
EINE BEDINGUNG NEGIEREN |
Programm: from gturtle import * from random import randint makeTurtle() hideTurtle() repeat10000: x = randint(-250, 250) y = randint(-250, 250) setPos(x, y) if not (x > -100 and x < 100): setPenColor("red") dot(4) else: setPenColor("gray") dot(4) |
MERKE DIR... |
Die korrekte Klammerung bei Bedingungen ist sehr wichtig. Da not stärker bindet als and und or, musst du hier eine Klammer setzen. Am schwächsten bindet or. Den grauen Streifen erhältst du logischerweise auch, wenn du verlangst, dass x <= -50 oder x >= 50 ist. Man kann also Bedingungen verschieden formulieren. Versuche es! Für Zahlen gibt es folgende Vergleichsoperatoren:
Du musst dich insbesondere an die Verdoppelung des Gleichheitszeichens bei der Gleichheitsbedingung gewöhnen. Diese ist nötig, damit der Computer zwischen der Zuweisung und der Gleichheitsbedingung unterscheiden kann. |
MEHRFACH-AUSWAHL |
Um mehr als zwei Fälle zu unterscheiden, musst du im else-Teil wieder eine if-Bedingung einfügen. In Python kann man kürzer elif verwenden und schreibt:
Programm: from gturtle import * from random import randint makeTurtle() hideTurtle() n = randint(1, 6) if n == 1: setPenColor("red") elif n == 2: setPenColor("yellow") elif n == 3: setPenColor("magenta") elif n == 4: setPenColor("green") elif n == 5: setPenColor("blue") else: setPenColor("black") dot(100) |
ZUM SELBST LÖSEN |
|
|