Python在列表中汇总变量

时间:2013-05-06 18:25:22

标签: python text

所以我正在尝试进行文字冒险,并且我试图通过使用列表来跟踪统计数据。

例如,我有:

User_stats = []
User_weapon = ""
User_armor = ""

Sword = 10
Pike = 13
Crude = 2
Heavy = 5

print (weapons)
print ("First lets pick a weapon,(enter the type of weapon, not the name)")
User_weapon = input() 
User_stats.append(User_weapon)
print (armor)
print("Now lets pick some armor (enter the first word of the armor)")
User_armor = input ()
User_stats.append(User_armor)
print (User_stats)

打印用户选择的列表[Sword, Crude]。有没有办法从这些变量中提取值并求它们(为了确定攻击是否成功)?

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

你应该有一些字典用于保存关系武器/护甲类型的值:

weapons = { 'Sword': 10, 'Pike': 13 }
armors = { 'Crude': 2, 'Heavy': 5 }

然后,当您知道用户选择了武器时,您可以使用weapons['Sword']或变量weapons[User_Weapon]甚至weapons[User_stats[0]]来获取值。

答案 1 :(得分:0)

词典可能就是你想要的。

>>>weapons = {'axe': 2, 'sword': 1 }
>>>weaponMods = {'crude': -1, 'amazing': 20 }
>>>print weapons['axe']
2
>>> print weapons['axe'] + weaponMods['crude']
1

答案 2 :(得分:0)

如果你使用词典来追踪武器/护甲类型,可能会容易一些:

weapons = {"Sword": 10, "Pike": 13}
armor = {"Crude": 2, "Heavy": 5}

然后,您可以更直接地访问其值以进行求和:

test = ["Sword", "Crude"]
test_val = weapons[test[0]] + armor[test[1]]

答案 3 :(得分:0)

考虑到你的所有变量都是整数,我认为一个简单的添加过程就可以了。

for item in User_stats:
    SUM = item + SUM

它应该遍历您的统计列表并将每个值添加到SUM变量。