擅长:python、mysql、java
<p>这是因为当您调用<code>GameRoom().CycleMessages("Player goes.")</code>时,您是在<code>GameRoom</code>的一个新实例上调用它。易于修复:</p>
<pre><code>class GameRoom():
def GameStatus(self):
...
if userDecision.upper() == "GO":
# Pass `Player` this instance of `GameRoom`
Player().Go(self)
break
else:
self.CycleMessages("That's not a valid choice!")
class Player():
def Go(self, game):
# And here, call `CycleMessages` on the passed instance of `GameRoom`.
game.CycleMessages("Player goes.")
game.GameStatus()
</code></pre>
<p>另外,这不是您的问题,但您可能需要考虑更改命名约定(请参见:<a href="http://www.python.org/dev/peps/pep-0008/#naming-conventions" rel="nofollow">PEP8</a>)。你知道吗</p>