Queria saber no que eu poderia melhorar o meu código, e queria ajuda na função que eu criei de validar a avaliação, para que quando o usuário digitar alguma letra, o programa não acabe de uma vez.
class Restaurante:
def __init__ (self, nome, categoria, avaliacao, drive):
self.nome = nome
self.categoria = categoria
self.ativo = False
self.avaliacao = avaliacao
self.drive_thru = drive
def __str__(self):
yes_or_no = 'possui' if self.drive_thru == True else 'não possui'
return f'O nome do restaurante é {self.nome}, da categoria {self.categoria}, com avaliação de {self.avaliacao} estrelas e {yes_or_no} drive thru'
restaurante_laches = Restaurante('Casa Amarela', 'Comida caseira', 5 , False)
print(restaurante_laches)
"""
Crie uma classe chamada Cliente e pense em 4 atributos.
Em seguida, instancie 3 objetos desta classe e atribua valores aos seus atributos através de um método construtor.
"""
class Cliente:
def __init__ (self, pedido, gorjeta, bebida ,avaliacao):
self.pedido = pedido
self.gorjeta = gorjeta
self.bebida = bebida
self.avaliacao = self.validar_avaliacao(avaliacao)
def validar_avaliacao (self,avaliacao):
while avaliacao < 0 or avaliacao > 5:
print('Não foi possivel avaliar.')
avaliacao = float(input('Digite um número entre 0 e 5 para a avaliação do restaurante: '))
return avaliacao
def __str__ (self):
return f'O cliente fez um pedido de {self.pedido}, com {self.bebida} para acompanhar. Deu R${self.gorjeta} de gorjeta e uma avaliação de {self.avaliacao} estrelas.'
cliente_1 = Cliente('Arroz e bife', 10.50, 'Coca', 5)
print(cliente_1)
cliente_2 = Cliente('Lasanha', 5, 'Fanta Uva', 3)
print(cliente_2)
cliente_3 = Cliente('Coxinha', 21, 'Cerveja', 4.5)
print(cliente_3)