我正在编写一个将在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之间的整数?那我在做什么错了?
答案 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