Greetings, I have been working on a little project today to help me better understand classes in Python (I really like Python). I am a self taught programmer and consider myself to fall in the "beginner" category for sure. It was initially sparked by reading about "state machines". This was my attempt at it however I feel it is not quite where it should be:
ON = "ON" OFF = "OFF" class LightBulb: def __init__(self, initial_state): self.state = initial_state def TurnOn(self): if self.state == OFF: self.state = ON else: print "The Bulb Is Already ON!" def TurnOff(self): if self.state == ON: self.state = OFF else: print "The Bulb Is Aleady OFF!" if __name__== "__main__": light = LightBulb(OFF) simulation_running = True while simulation_running: print "The light is", light.state print "" print "Please choose an action:" print "" print "[1] Turn Light On" print "[2] Turn Light Off" print "[3] Exit Simulation" print "" u_choice = raw_input("Please Enter Your Choice: ") if u_choice == '1': light.TurnOn() if u_choice == '2': light.TurnOff() elif u_choice == '3': break else: continue The test portion of the code is actually longer than the class itself :-) I would like to be able to get a good hold of the concept with this example before I try to model a more complex problem. Would someone be willing to give me some feedback on this class and whether I am on the right track or how I might better go about it? -- http://mail.python.org/mailman/listinfo/python-list