<p>有人能帮我吗?我是python和编程的初学者。非常感谢。
我得到了这个TypeError:“dict”对象在我执行这个函数时不可调用。在</p>
<pre><code>def goodVsEvil(good, evil):
GoodTeam = {'Hobbits':1, 'Men':2, 'Elves':3, 'Dwarves':3, 'Eagles':4, 'Wizards':10}
EvilTeam = {'Orcs':1, 'Men':2, 'Wargs':2, 'Goblins':2, 'Uruk Hai':3, 'Trolls':5, 'Wizards':10}
Gworth = 0
Eworth = 0
for k, val in GoodTeam():
Input = raw_input ('How many of {0} : ')
Gworth = Gworth + int(Input) * val
for k, val in EvilTeam():
inp = raw_input ('How many of {0} : ')
Eworth = Eworth + int(inp) * val
if Gworth > Eworth:
return 'Battle Result: Good triumphs over Evil'
if Eworth > Gworth:
return 'Battle Result: Evil eradicates all trace of Good'
if Eworth == Gworth:
return 'Battle Result: No victor on this battle field'
</code></pre>
<p>那些括号是不必要的。您打算使用<code>.items()</code>,它允许您迭代字典的键和值:</p>
<pre><code>for k, val in GoodTeam.items():
# your code
</code></pre>
<p>您还应该为<code>EvilTeam</code>复制此更改。在</p>