[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