擅长:python、mysql、java
<p>在<code>addToInventory</code>函数中,您不返回修改过的字典,而是希望在代码末尾调用它时返回它。因为函数中没有返回任何内容,所以它默认返回<code>None</code>,所以您的<code>displayInventory</code>函数试图在<code>NoneType</code>变量上循环。因为Python中有一个<a href="https://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference">dictionary is passed by reference</a>,所以可以修改字典而不必返回任何内容。在调用<code>addToInventory</code>之后,只需删除对<code>backpack</code>的赋值:</p>
<pre><code>addToInventory(backpack, dragonLoot)
</code></pre>
<p>当您这样做时,我们就得到了预期的输出:</p>
<pre><code>Inventory:
45 gold coin
1 rope
1 dagger
1 ruby
Total number of items:48
</code></pre>