访问字典时,字符串索引必须是整数(错误)

时间:2018-06-05 19:59:34

标签: python python-3.6

def generate_spell_damage(self, i):
        mgl = self.magic[i]['dmg'] - 5
        mgh = self.magic[i]['dmg'] + 5
        return random.randrange(mgl, mgh)


magic = [{'name': 'Fire', 'cost': 20, 'dmg': 30},
     {'name': 'Blizzard', 'cost': 30, 'dmg': 60},
     {'name': 'Storm', 'cost': 10, 'dmg': 80}]

Person = Player(200, 100, 60, 40, 'magic')
print(Person.generate_spell_damage(1))

错误:字符串索引必须是整数。 请帮我解决这个错误。我们将非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

为什么用“魔法”填充Player对象?不应该

Person = Player(200, 100, 60, 40, magic)

否则它将被解释为字符串。