2015-12-13 72 views
-4

我正在研究戰鬥系統的角色統計數據,我想通過讓系統乘以0.5之一的統計來輸入傷害,但它不接受統計名稱作爲參考,因爲它在字典中。如何將字典值分配給變量?

有人能告訴我如何解決這個問題嗎?

Mage = { 'name' : 'Mage', 
     'lvl' : 0, 
     'xp' : 0, 
     'lvlNext' : 25, 
     'stats' : {'PStrength' : 5, 
        'PProsperity' : 5, 
        'PDexterity' : 15, 
        'PVitality' : 5, 
        'PAgility' : 10, 
        'HP' : 30}} 

PDMG = PStrength * .50 

NameError: name 'PStrength' is not defined 
+0

那麼有什麼辦法'PStrength'是?這既不是一個標識符也不在範圍內,所以不可避免地成爲'NameError'。請去閱讀https://docs.python.org/3/tutorial/datastructures.html#dictionaries – jonrsharpe

回答

2

你必須做的就是損害的是:

Mage = { 'name' : 'Mage', 
     'lvl' : 0, 
     'xp' : 0, 
     'lvlNext' : 25, 
     'stats' : {'PStrength' : 5, 
        'PProsperity' : 5, 
        'PDexterity' : 15, 
        'PVitality' : 5, 
        'PAgility' : 10, 
        'HP' : 30}} 

PDMG = Mage['stats']['PStrength'] * 0.50