【发布时间】:2020-06-12 21:40:32
【问题描述】:
我正在使用 Python(在 PyCharm 上运行)编写一个简单的基于文本的 RPG 战斗模拟器。我创建了一个名为 Person 的类,其初始化参数如下:
def __init__(self, name, HP, MP, ATK, DEF, magic, items):
self.name = name
self.HP = HP
etc...
这个类在main 中为 3 个唯一的玩家 (player1, player2, player3) 实例化了 3 次。我还有一个函数get_stats(self)
print(self.name + ", HP: " + self.HP + ", MP: " + self.MP)
但是当我在main运行时
for player in players:
player.get_stats()
players = {player1, player2, player3},我得到输出(注意 MP/HP 值是任意的):
name2, HP: 200, MP: 200
name3, HP: 300, MP: 300
name1, HP: 100, MP: 100
如果players = {player0, player1, player2, player3},我得到输出:
name2, HP: 200, MP: 200
name3, HP: 300, MP: 300
name0, HP: 400, MP: 400
name1, HP: 100, MP: 100
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
套装未排序。
-
问题是什么?
-
link完整代码抄本供参考
标签: python arrays for-loop pycharm