Ao tentar rodar o código, recebo o erro "AttributeError: 'Avaliador' object has no attribute 'maior_lance'", mas não consigo identificar o que está errado
import sys
class Usuario:
def __init__(self, nome):
self.__nome = nome
@property
def nome(self):
return self.__nome
class Lance:
def __init__(self, usuario, valor):
self.usuario = usuario
self.valor = valor
class Leilao:
def __init__(self, descricao):
self.descricao = descricao
self.__lances = []
@property
def lances(self):
return self.__lances
class Avaliador:
def __int__(self):
self.maior_lance = sys.float_info.min
self.menor_lance = sys.float_info.max
def avalia(self, leilao: Leilao):
for lance in leilao.lances:
if lance.valor > self.maior_lance:
self.maior_lance = lance.valor
elif lance.valor < self.menor_lance:
self.menor_lance = lance.valor
from src.leilao.dominio import Usuario, Lance, Leilao, Avaliador
gui = Usuario('Gui')
yuri = Usuario('Yuri')
lance_do_yuri= Lance(yuri, 200)
lance_do_gui = Lance(gui, 300)
leilao = Leilao('celular')
leilao.lances.append(lance_do_gui)
leilao.lances.append(lance_do_yuri)
for lance in leilao.lances:
print(f'O usuario {lance.usuario.nome} deu um lance de {lance.valor}')
avaliador = Avaliador()
avaliador.avalia(leilao)
print(f'O menor lance foi de {avaliador.menor_lance} e o maior lance foi de {avaliador.maior_lance}')