擅长:python、mysql、java
<p><code>eatitem</code>是字符串(<code>'Bread'</code>),但您希望eatitem成为对象<code>Bread</code>。有几种方法可以存档(例如,您可以计算用户输入的字符串,但这是。。不太好。),我在这里概述一下:</p>
<pre><code>food = {"Bread"} # changed to a set
Bread = {"name" : "Bread", "foodvalue" : 10}
items = { "Bread" : Bread }
[...]
def eat()
global hunger
print(*inv,sep='\n')
print("Eat which item?")
eatitem_input = input("> ")
eatitem = items[eatitem_input]
if eatitem in food and eatitem in inv:
hunger = hunger + eatitem["foodvalue"]
inv.remove(eatitem)
print("Yum.")
time.sleep(1)
</code></pre>
<p>这仍然可以通过使用类(或者<a href="https://docs.python.org/3/library/collections.html#collections.namedtuple" rel="nofollow">named tuples</a>)来改进。另外,最好将程序分成一个输入/输出部分和一个“引擎部分”。你知道吗</p>