<p>代码中有一些东西可以重构:</p>
<ul>
<li>在<code>Game</code>类的构造函数中,不需要<code>username</code>参数,因为已经有了<code>new_user</code>方法:</li>
</ul>
<pre class="lang-py prettyprint-override"><code>class Game():
def __init__(self, gameId):
# Just create the list of users
self.users = []
self.gameId = gameId
# ...
lobby = []
for i in range(2):
lobby.append(generate_gameId())
lobby[i] = Game(lobby[i])
# Use the `new_user` method to create a Test
lobby[i].new_user("Test")
lobby[i].new_user("Test123")
lobby[i].remove_user("Test123")
</code></pre>
<ul>
<li>您正在将ID存储在一个整数列表中。如果游戏具有唯一id,则应使用字典:</li>
</ul>
<pre class="lang-py prettyprint-override"><code>lobby = {}
for i in range(2):
game_id = generate_gameId()
game = Game(game_id)
# Create a entry in the dictionary
lobby[game_id] = game
game.new_user("Test")
game.new_user("Test123")
game.remove_user("Test123")
</code></pre>
<p>然后,您可以访问游戏列表及其ID:</p>
<pre><code>for game_id, game in lobby.items():
print(f'The game {game_id} has the following users:')
for user in game.users:
print(user)
print()
</code></pre>