Updated inline. Check the updated definiton of winAmount. Nick
On Tue, Jan 18, 2011 at 9:25 AM, Ben Ganzfried <ben.ganzfr...@gmail.com>wrote: > Hey guys, > > I'm trying to get a version of Roulette working and I had a quick > question. Here is my code: > > class Outcome: > > def __init__(self, name, odds): > self.name = name > self.odds = odds > > def winAmount(self, amount): > return self.odds*amount > > def __eq__(self, other): > if (self == other): > return True > else: > return False > > def __ne__(self, other): > if (self != other): > return True > else: > return False > > def __str__(self): > return "%s (%d:1)" % ( self.name, self.odds ) > > Now whenever I try to call the winAmount method, I get the following error: > NameError: global name 'odds' is not defined > > I'm wondering the following: I had thought that by initializing "odds" in > the first initialization method that "odds" should then be accessible to all > the other methods in the class. This does not seem to be the case. So what > is the ideal fix? On the one hand I still need to initialize "odds", > right? But if "odds" is within the initialization method, how else can it > be accessed by the other methods? > > Thanks so much! > > Ben > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor