擅长:python、mysql、java
<p>您正在对<code>key=1</code>进行硬编码,因此用户输入将始终引用与键1关联的值。
<code>menuList</code>也是由第一行代码定义的全局变量。使用相同的名称命名局部变量有点让人困惑。最好执行以下操作:</p>
<pre class="lang-py prettyprint-override"><code>menuList = {}
def updateMenu():
global menuList
key = len(menuList.keys()) + 1 # assumes no keys are ever deleted
item = input('Item Name: ')
price = int(input("Enter Price: "))
menuList[key] = {'item':item,'price':price}
</code></pre>
<p>现在,当您调用<code>updateMenu</code>时,不需要将其设置为等于menuList</p>
<pre class="lang-py prettyprint-override"><code>updateMenu()
# answer the prompts
# menuList will get updated
</code></pre>