[Tutor] exercise with classes 2nd attempt

Brian van den Broek brian.van.den.broek at gmail.com
Sun Feb 12 15:16:39 CET 2012


On 12 Feb 2012 05:23, "Tonu Mikk" <tmikk at umn.edu> wrote:
>
> I am learning Python using the "Learn Python the Hard Way" book by Zed
Shaw.  I reached exercise 42 where we learn about Python classes.  The
exercise shows a game with one class that includes all the definitions for
playing the game.  For extra credit we are asked to create another version
of this game where we use two classes - one for the room definitions and
the other for the playing the game.
>
> May attempt at creating two classes is here http://codepad.org/963vUgSt .
 I get the following error which I have been un-able to resolve.  Any
suggestions are welcome.
>
> Traceback (most recent call last):
>   File "ex42_3.py", line 233, in <module>
>     run()
>   File "ex42_3.py", line 231, in run
>     room1.doIt()          # plays the game
>   File "ex42_3.py", line 32, in doIt
>     self.obj.play() # use object
>   File "ex42_3.py", line 20, in play
>     room = getattr(self, next)
> AttributeError: 'Engine' object has no attribute 'central_corridor'

Hi,

Your code is longer than I feel like reading carefully. (Not a complaint;
just cautioning you about how closely I looked.) Also, the line numbers of
your code sample do not agree with those of your traceback. (That is a mild
complaint; it makes it harder to help you.)

Notice that you defined central_corridor as a method of Room. The last line
of your traceback is (it seems) in Engine.play; the code there looks for
central_corridor in Engine and doesn't find it.

If that help, great. If not, try to trim down your code to a smaller
version that exhibits the problem and post again, this time making sure the
posted code and the code that generate the traceback are the same.

Best,

Brian vdB
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120212/cc224554/attachment.html>


More information about the Tutor mailing list