Quando executo
avaliador.avalia(leilao)
É gerado o erro
Traceback (most recent call last):
File "<ipython-input-4-4c021a7b4680>", line 1, in <module>
avaliador.avalia(leilao)
File "(...)", line 40, in avalia
if lance.valor > self.maior_lance:
AttributeError: 'Avaliador' object has no attribute 'maior_lance'
Segue os scripts:
Principal
from dominio import Usuario, Lance, Leilao, Avaliador
gui = Usuario('Guilherme')
fabio = Usuario('Fabio')
lance_gui = Lance(gui, 100.0)
lance_fabio = Lance(fabio, 250)
leilao = Leilao('celular')
leilao.lances.append(lance_gui)
leilao.lances.append(lance_fabio)
for lance in leilao.lances:
print(f'O usuário {lance.usuario.nome} deu lance de {lance.valor}')
avaliador = Avaliador()
avaliador.avalia(leilao)
dominio
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
Alguém sabe me ajudar?