Não sei mais o que fazer, alterei os nomes dos caminhos, alterei o nome do metodo, conferi e nada funciona:
from modelos.avaliacao import Avaliacao
class Restaurante:
restaurantes = []
def __init__(self, nome, categoria):
self._nome = nome.title()
self.categoria = categoria.upper()
self._ativo = False
self._avaliacao = []
Restaurante.restaurantes.append(self)
def __str__(self):
return f'{self._nome} | {self.categoria}'
@classmethod
def listar_restaurantes(cls):
print(f'{'Nome do Restaurante'.ljust(25)} | {'Categoria do Restaurante'.ljust(25)} | {'Avaliação'.ljust(25)} | {'Status'}')
for restaurante in cls.restaurantes:
print(f'{restaurante._nome.ljust(25)} | {restaurante.categoria.ljust(25)} | {str(restaurante.media_notas).ljust(25)} |{restaurante.ativo}')
@property
def ativo(self):
return '✅' if self._ativo else '❌'
def alternar_estado(self):
self._ativo = not self._ativo
def receber_avaliacao(self, cliente, nota):
avaliacao = Avaliacao(cliente, nota)
self._avaliacao.append(avaliacao)
@property
def media_avaliacoes(self):
if not self._avaliacao:
return 0
soma_nota = sum(avaliacao._notas for avaliacao in self._avaliacao)
quantidade_notas = len(self._avaliacao)
media_notas = round(soma_nota / quantidade_notas,1)
return media_notas