sobremesa.py
from modelos.cardapio.item_cardapio import ItemCardapio
class Sobremesa(ItemCardapio):
def __init__(self, nome, preco, tamanho):
super().__init__(nome, preco)
self.tamanho = tamanho
def __str__(self):
return self._nome
def aplicar_desconto(self):
self._preco -= (self._preco * 0.08)
#restaurante.py
@property
def exibir_cardapio(self):
print(f'Cardapio do restaurante {self._nome}\n')
for i, item in enumerate(self._cardapio, start=1):
if hasattr(item, 'descricao'):
mensagem_prato = f'{i}. Nome: {(item._nome).ljust(10)} | Preço: R${str(item._preco).ljust(5)} | Descrição: {item.descricao}'
print(mensagem_prato)
elif hasattr(item, 'tamanho'):
mensagem_sobremesa = f'{i}. Nome: {(item._nome).ljust(10)} | Preço: R${str(item._preco).ljust(5)} | Tamanho: {item.tamanho}'
print(mensagem_sobremesa)
else:
mensagem_bebida = f'{i}. Nome: {(item._nome).ljust(10)} | Preço: R${str(item._preco).ljust(5)} | Volume: {item.volume}ml'
print(mensagem_bebida)
app.py
from modelos.restaurante import Restaurante
from modelos.cardapio.sobremesa import Sobremesa
from modelos.cardapio.prato import Prato
from modelos.cardapio.bebida import Bebida
restaurante_praca = Restaurante('praça', 'Gourmet')
sobremes1 = Sobremesa('Chocolate', 10.00, 'Grande')
prato_1 = Prato('Parmediana', 40.00, 'Prato suculento de molho de tomate, bife e queijo')
bebida_1 = Bebida('Red Bull', 13, 475)
sobremes1.aplicar_desconto()
prato_1.aplicar_desconto()
bebida_1.aplicar_desconto()
restaurante_praca.adicionar_no_cardapio(bebida_1)
restaurante_praca.adicionar_no_cardapio(sobremes1)
restaurante_praca.adicionar_no_cardapio(prato_1)
def main():
restaurante_praca.exibir_cardapio
if __name__ == '__main__':
main()