好的,所以我有这个应该有 , 和其他一些属性的food
类hunger
。
我只有这样的定义:
def setfood():
choice = input("Choice: ")
if choice == "1":
food = 1
bored = 2
if choice == "2":
food = 4
bored = 8
return food
return bored
然后我有这样的课程。
class thing(object):
def __init__(self, name, hunger = 0, boredom = 0):
self.name = name
self.hunger = hunger
self.boredom = boredom
def eat(self):
setfood()
self.hunger -= food
self.boredom += bored
好吧,无论我做什么,我都无法让它工作。我不断收到有关全局变量的错误消息。
好吧,我添加food = 0
并添加bored = 0
到程序的主要部分中,这没有什么区别,因为我无法将全局变量传递到定义中。
我试图将定义添加到我的课程中,但它仍然没有任何区别。我还尝试进行单独的定义以返回每个变量……也没有奏效。不管我做什么,我都赢不了。
我可以让它工作的唯一方法是如果我这样做:
food = setfood()
我想我可以把它改成这样:
food = setfood(food)
food = setfood(bored)
但这也不起作用...
但是,如果我对这两个变量都这样做,我必须经历两次。那么我具体该怎么做呢?我很失落和沮丧。