[Tutor] On off Toggle
alan.gauld at btinternet.com
Sat Mar 12 11:08:51 CET 2011
"Adrian Atkinson" <admatkin at umail.iu.edu> wrote
> class Television(object):
While using a class is not in itself a bad idea it looks like
you have much more fundamental issues to deal with so
I'd suggest dropping the class for now and just write
some functions using global variables to store the data.
You can then move that into a class later if you need to.
It will simplify the problem because you have a mixture
of OO issues and basic programming issues. Lets
fix the basics befoere worrying about the OO bits.
> def __init__(self,__channel,volume,is_on):
> self.volume = volume
> self.is_on = "Power is off"
> power = self.is_on
Its usually better not to use strings for this kind of task.
is_on is a boolean type value - its either on or its off so
is better rep[resented by a number or a simple True/False
Power in this case does nothing because after you
assign it you throw it away when you leave the function.
This is one of the areas where using globals would help
simplify the problem.
> def toggle_power(self):
> if choice == "1" and power == self.is_on :
> power = "Power is Now on"
> elif choice =="1" and power =="Power is Now on" :
> power = self.is_on
> print power
I have no idea what you think is happening here.
Can you describe in plain English how you think this
should work? When you call Toggle Power what would
you expect the program to do? What would be printed
and what would the data look like?
> choice = ""
> while choice != 0:
> choice = raw_input("Can I have a selection number? : ")
> tv = Television(0,50,"is_on")
Be careful about data types. choice starts as a string(empty)
then is compared to a number(0) then is set to a string
Also you instantiate the tv object by passing 2 values
but the constructor expects 3...
> I'm trying to make a toggle to turn the power on and off in the
> method but I cannot figure this out. Any help would be greatly
First express exactly what you want the toggle to do in English.
Think about the data and the printed output - they are quite different
Then come back to us for more help.
Author of the Learn to Program web site
More information about the Tutor