さて、私は、、、および他のいくつかの属性を持つこと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)
しかし、それも機能しません...
しかし、両方の変数に対してそれを行う場合は、すべてを2回実行する必要があります。だから私は正確に何をしますか?私はとても迷い、イライラしています。