Olá , no print que estou dando esta aparecendo o endereço de memoria invés do numero do menor e maior lance .
dominio.py
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 __init__(self):
self.maior_lance = sys.float_info.max
self.menor_lance = sys.float_info.min
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
principal.py
from src.leilao.dominio import Usuario, Lance, Leilao, Avaliador
gui = Usuario('gui')
yuri = Usuario('yuri')
leilao = Leilao('Celular')
lance_do_gui = Lance('gui',100.0)
lance_do_yuri = Lance('yuri',900.0)
leilao = Leilao('Celular')
leilao.lances.append(lance_do_gui)
leilao.lances.append(lance_do_yuri)
for lance in leilao.lances :
print(f'o lance de {lance.usuario} foi de {lance.valor}')
avaliador = Avaliador()
avaliador.avalia(leilao)
print(f'o menor lance foi de {avaliador.maior_lance}, o maior lance foi de {avaliador.maior_lance}'