Automaten in Aktion
from gturtle import *
zustaende = {0: "EG",
1: "1.OG",
2: "2.OG",
}
uebergangsregeln = {
(0,1):1,
(1,0):0,
(1,1):1,
(0,0):0,
(0,2):2,
(1,2):2,
(2,1):1,
(2,0):0,
(2,2):2,
}
zustand = 0
def zeichneRechteck(x, y, laenge):
setPos(x, y)
setFillColor("red")
startPath()
repeat 4:
forward(laenge)
right(90)
fillPath()
def uebergang(alt, regeln, eingabe):
neuerZustand = regeln[(alt, eingabe)]
return neuerZustand
def onKeyPressed(key):
global zustand
clear()
if key == '1':
neu = uebergang (zustand, uebergangsregeln, 1)
zeichneRechteck(0,0,50)
elif key == '0':
neu = uebergang (zustand, uebergangsregeln, 0)
zeichneRechteck(0,-100,50)
elif key == '2':
neu = uebergang (zustand, uebergangsregeln, 2)
zeichneRechteck(0,100,50)
print(f"Sie befinden sich jetzt im {zustaende[neu]}.")
zustand = neu
makeTurtle(keyPressed = onKeyPressed)
hideTurtle()
speed(-1)
addStatusBar(20)
setStatusText("Drücke die Tasten 0, 1 oder 2")
Aufgabe |
|
Benutze das vorgegebene Python-Programm für die folgenden Aufgabenteile:
|
Aufgabe |
|
|
Nebenstehend sieht man noch einmal die Ampelphasen.
Schreibe eine Simulation in Python. Benutze wie im Fahrstuhlbeispiel zur Ausgabe die Funktionen der Turtle. Die Simulation soll so ablaufen, dass jedesmal, wenn der Benutzer die Taste w drückt, die Ampel zur nächsten Phase wechselt. |
|
© 2023 Net-Schulbuch.de
Aufgabe