ich möchte einen Aufzug simulieren, der hoch- und runterfährt. Er soll also bspw. beim Hochfahren, wenn er > 1 und < 2 ist auf Ebene 2 halten. Und beim Runterfahren, wenn er > 1 und kleiner 2 ist auf Ebene 1 halten. Ist ja irgendwie normal. Im Code habe ich sicherheitshalber immer einen print zur Kontrolle. In meiner Theorie sollte er dann immer nur eine Ebene ausgeben, weil noch random.choice mit aufwärts und abwärts enthalten ist. In der Praxis werden aber immer zwei Ebenen ausgegeben, als ob zwei Aufzüge da sind. Ích weiß nicht, wo ich den Gedankenfehler im Code gemacht habe.
LG
Code: Alles auswählen
import random
aufwärts = random.uniform(0, 4)
abwärts = random.uniform(0, 4)
def bewegung():
bewegung = random.choice([aufwärts, abwärts])
if aufwärts == 0:
print("Aufwärts Ebene 0")
elif aufwärts > 0 and aufwärts < 1.01:
print("Aufwärts Ebene 1")
elif aufwärts > 1 and aufwärts < 2.01:
print("Aufwärts Ebene 2")
elif aufwärts > 2 and aufwärts < 3.01:
print("Aufwärts Ebene 3")
else:
print("Aufwärts Ebene 4")
if abwärts == 4:
print("Abwärts Ebene 4")
elif abwärts > 3.01 and abwärts < 4:
print("Abwärts Ebene 3")
elif abwärts > 2.01 and abwärts < 3:
print("Abwärts Ebene 2")
elif abwärts > 1.01 and abwärts < 2:
print("Abwärts Ebene 1")
else:
print("Abwärts Ebene 0")
Aufwärts Ebene 1
Abwärts Ebene 0