RPG脚本中词典的难度

时间:2018-10-08 03:50:55

标签: python

我正在编写一个将在RPG中使用的函数,该函数将获取角色的状态表并返回字符“ Dexterity”的状态。

编写一个名为“ get_stat”的函数,该函数将键值存储区作为参数,字符串作为键,整数作为值。这些键包括“强度”,“宪法”,“防御”,“灵活性”,“情报”,“魅力”,“意志力”和“运气”,每个值都是0到255之间的整数。此函数应返回“ Dexterity”统计信息的值。

def get_stat(key_values): 
    key_values = ({ "Strength": 10, "Constitution": 10, "Defense": 10, "Dexterity": 10, "Intelligence": 10, "Charisma": 10, "Willpower": 10,"Luck": 10}) 
    for i in key_values:
         if i == "Dexterity": 
             return key_values.get("Dexterity")

如何使“ Dexterity”等于0到225之间的整数?那我在做什么错了?

1 个答案:

答案 0 :(得分:0)

您通过为key_values分配一个所有值都设置为get_stat的新字典,来覆盖传递给key_values函数的10参数,因此它自然返回无论您传递给什么key_values,它的敏捷度值都是10。您应该直接从Dexterity参数返回key_values键的值:

def get_dexterity(key_values):
    return key_values.get("Dexterity")

这样可以:

key_values = { "Strength": 103, "Constitution": 210, "Defense": 192, "Dexterity": 255, "Intelligence": 80, "Charisma": 25, "Willpower": 36,"Luck": 191}
print(get_dexterity(key_values))

此输出:

255