On Tue, Nov 19, 2013 at 06:22:32PM -0600, Anton Gilb wrote: > Not sure what I'm doing wrong, here are the problems and what I have for > answers so far.
What makes you think you're doing anything wrong? See below for more comments. > 1.)Write the definition of a class Counter containing: > An instance variable named counter of type int . > A constructor that takes one int argument and assigns its value to counter > A method named increment that adds one to counter . It does not take > parameters or return a value. > A method named decrement that subtracts one from counter . It also does > not take parameters or return a value. > A method named get_value that returns the value of the instance variable > counter . > > class Counter(object): > def __init__(self, ct): > self.counter = ct > def increment(self): > self.counter += 1 > def decrement(self): > self.counter -= 1 > def get_value(self): > return self.counter This looks fine to me, except for a couple of little nit-picks about terminology. (If you care about them, feel free to ask, otherwise I'll just bite my tongue.) What errors are you getting? Nothing is obvious. > 2.)Write the definition of a class WeatherForecast that provides the > following behavior (methods): > A method called set_skies that has one parameter, a String. > A method called set_high that has one parameter, an int. > A method called set_low that has one parameter, an int. > A method called get_skies that has no parameters and that returns the > value that was last used as an argument in set_skies . > A method called get_high that has no parameters and that returns the value > that was last used as an argument in set_high . > A method called get_low that has no parameters and that returns the value > that was last used as an argument in set_low . > No constructor need be defined. Be sure to define instance variables as > needed by your "get"/"set" methods. Again, what errors are you getting? In this case, I can guess what some of the errors might be. See below. > class WeatherForecast(object): > def __init__ (self): > self.skies = "" The instructions say that you don't have to define a constructor, but they don't forbid it. In this case, I think I'd prefer not to include the constructor. (I know I said I wouldn't, but here's one of the nit-picks: __init__ isn't strictly speaking a constructor, it's an initialiser. Not that the difference really matters here.) > def get_skies(): > return self.set_skies Here, rather than return the skies value, you return the "set_skies" method itself. I suggest you look at the first class and consider how the get_value method works. You want to return the "skies" value instead. > def set_skies(self, value) > self.skies = value > def get_high(): > return self.set_high Likewise, here rather than return the high value, you return the "set_high" method. > def set_high(self, value): > self.high = value > def get_low(): > return self.set_low And likewise again. > def set_low(self): > self.low = value Hope this helps, -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor