[python-users] State Machine
Dirk Hünniger
dirk.hunniger at googlemail.com
Di Feb 11 20:11:47 CET 2014
Hallo,
ich musste neulich auf der Arbeit eine State Machine in Python bauen.
Meine erste Idee war ein switch case statement. Habe in Python jedoch
keines gefunden und daher so emuliert.
Hat noch jemand eine schönere Idee?
Viele Grüße Dirk
import time
class Motor:
def __init__(self):
self.position=50
self.zustand = self.referenzfahrt
def forward(self):
self.position+=10
print self.position
def backward(self):
self.position-=10
print self.position
def referenzfahrt(self):
self.forward()
time.sleep(0.2)
if self.position>90:
self.zustand=self.bereit_zum_fahren
def bereit_zum_fahren(self):
raw_input("Bereit bitte Taste druecken")
self.zustand=self.fahrt
def fahrt(self):
self.backward()
time.sleep(0.2)
if self.position<10:
self.zustand=self.pause
def pause(self):
print "pause"
time.sleep(1.0)
self.zustand=self.referenzfahrt
m=Motor()
while True:
m.zustand()
Mehr Informationen über die Mailingliste python-users