arquivo restaurant.py
def add_itens_no_cardapio(self, item):
if isinstance(item, ItemCardapio):
self._cardapio.append(item)
@property
def exibir_cardapio(self):
print(f'Cardápio do restaurante: {self._name}\n')
for i, item in enumerate(self._cardapio, start=1):
if hasattr(item, 'description'):
msg_prato = f'{i} - Nome: {item._name} | Preço: {item._price} | Descrição: {self._description}'
print(msg_prato)
else:
msg_bebida = f'{i} - Nome: {item._name} | Preço: {item._price} | Tamanho: {self._size}'
print(msg_bebida)
arquivo prato.py
class Prato(ItemCardapio):
def __init__(self, name, description, price):
super().__init__(name, price)
self._description = description
def __str__(self):
return self._name
arquivo bebidas.py
class Bebida(ItemCardapio):
def __init__(self, name, size, price=int):
super().__init__(name, price)
self._size = size
def __str__(self):
return self._name
arquivo app.py
from models.restaurant import Restaurant
from models.cardapio.bebidas import Bebida
from models.cardapio.prato import Prato
restaurant_praca = Restaurant('praça', 'Gourmet')
bebida_suco = Bebida('Melancia', 5, 'grande')
prato_pao = Prato('Pão', 2, 'O melhor pão da cidade')
restaurant_praca.add_itens_no_cardapio(bebida_suco)
restaurant_praca.add_itens_no_cardapio(prato_pao)
def main():
restaurant_praca.exibir_cardapio
if __name__ == '__main__':
main()
Erro que está aparecendo no terminal:
AttributeError: 'Restaurant' object has no attribute '_size'