簡體   English   中英

Python匯總列表中的變量

[英]Python Summing variables in a list

因此,我嘗試進行文字冒險,並嘗試通過使用list來跟蹤統計信息。

例如,我有:

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] 有沒有辦法從這些變量中提取值並將它們求和(以確定攻擊是否成功)?

謝謝你的幫助!

您應該為此使用某種字典,以將武器/裝甲類型的關系保存為值:

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

然后,當您知道用戶選擇了武器時,就可以使用weapons['Sword']或使用變量weapons[User_Weapon]甚至weapons[User_stats[0]]

詞典可能就是您想要的。

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

如果使用字典來跟蹤武器/裝甲類型,可能會更容易一些:

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

然后,您可以直接訪問它們的值進行求和:

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

考慮到所有變量都是整數,我可以想象一個簡單的加法過程將起作用。

for item in User_stats:
    SUM = item + SUM

它應該遍歷您的統計信息列表,並將每個值添加到SUM變量中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM