Ara Kooser wrote: > Hello, > I read Alan Gauld's and How to Think Like a Computer Scientist > section on classes. So I tried to write a simple room class. My goal > is to write a short text adventure using classes. Here is the code: > > class Area: > def _init_(self, name, description): >
Not enough underscores, you need two before and after the word "init". > self.name = name > > > def look(here): > "Look around the place you are in" > print here.description > > > outside1 = Area("Outside") > outside1.description = "You are standing outside with the town gate to > your back" > Why not: outside1 = Area( "Outside", "You are standing outside..." ) and store self.description in the constructor? > self.contents.append("dirt") > What is self? You've only defined self in the class methods and you're outside the class definition. Was that just a cut and paste error? > > look(bedroom) > You'll get another error here, I think you want: outside1.look( bedroom ) > I get the following error. > Traceback (most recent call last): > File "/Users/ara/Documents/text_advent.py", line 11, in <module> > outside1 = Area("Outside") > TypeError: this constructor takes no arguments > > Do the outside1 = Area("Outside) need to be nested in the class or can > they be outside of it? > No, that's correct, because you are instantiating the class and naming that instance "outside1". > Thank you. > > Ara > > > > Hope that all helps, e. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor