私は4つのクラスを持っています。肉の値、稲の値、豆の値をそれぞれのクラスに渡して、Burrito
クラスを通してその値を返します。私は2日間はこれと戦いましたが、目に見える進歩はありません。何をすべきか、どんな文法上の誤りでもお詫びします。以下は最初の3つのクラスです。最初の3つのクラスのいずれの行にも触れないように指示された指示に従って、すべてのコードの変更はBurrito
クラスにある必要があります。ブリトークラスから肉クラス、米クラス、豆クラスに私の肉、米、豆の価値を渡す方法は?
class Meat:
def __init__(self, value=False):
self.set_value(value)
def get_value(self):
return self.value
def set_value(self, value):
if value in ["chicken", "pork", "steak", "tofu"]:
self.value = value
else:
self.value = False
class Rice:
def __init__(self, value=False):
self.set_value(value)
def get_value(self):
return self.value
def set_value(self, value):
if value in ["brown", "white"]:
self.value = value
else:
self.value = False
class Beans:
def __init__(self, value=False):
self.set_value(value)
def get_value(self):
return self.value
def set_value(self, value):
if value in ["black", "pinto"]:
self.value = value
else:
self.value = False
ここでクラスは、値を渡して値を返すと仮定しています。ここで
class Burrito:
def __init__ (self, meat, to_go, rice, beans):
self.meat = Meat(meat)
self.set_to_go(to_go)
self.rice = Rice(rice)
self.beans = Beans(beans)
def set_meat(self, meat):
self.set_value(meat)
def set_to_go(self, to_go):
to_go_list = [True, False]
if to_go in to_go_list:
self.to_go = to_go
else:
self.to_go = False
def set_rice(self, rice):
self.set_value(rice)
def set_beans(self, beans):
self.set_value(beans)
def get_meat(self):
self.meat_v = Meat()
return self.meat_v.value
def get_to_go(self):
return self.to_go
def get_rice(self):
self.rice_v = Rice()
return self.rice_v.value
def get_beans(self):
self.beans_v = Beans()
return self.beans_v.value
私のコードをテストするために使用していますラインです:
newburrito = Burrito("pork", True, "brown", "pinto")
print (newburrito.meat)
これは、エラーラインで取得しています:
<__main__.Meat object at 0x7fa5ad8bccf8>
は、それが
pork
を印刷するように期待してい
個々のクラス値にアクセスするには、単に 'newburrito.meat.get_value()'を実行するだけです。私はそこに何かエラーを見ていない。あなたは 'newburrito.meat'(オブジェクトを返す)を出力しました。 –
'get_meat'を' newburrito.get_meat() 'と呼ぶ – Manjunath
私のプリント(newburrito.meat)は、豚肉を印刷すると仮定しています – user8964866