在Python中根据两个不同的值确定值的最佳方法是什么

时间:2017-09-25 17:53:59

标签: python python-2.7

我需要根据敌人和武器确定对角色造成的伤害量。每种武器都会受到不同程度的伤害,具体取决于它的攻击对象。如果不编写很多if语句,最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您正在研究通用方法,我建议您构建一个查找字典,如下所示。您可以使用此词典计算损坏,

def get_damage(enemy_type,weapon):
    damage_dict = {"enemy_type1":{'weapon1':10,'weapon2':20,'weapon3':50},
                   "enemy_type2":{'weapon1':5,'weapon2':20,'weapon3':45},
                   "enemy_type3":{'weapon1':15,'weapon2':20,'weapon3':40,'weapon4':50},
                   }
    return damage_dict.get(enemy_type).get(weapon)

print(get_damage('enemy_type2','weapon2'))