Olá Gabriel, tudo bem com você?
Peço desculpas pela demora em lhe responder.
Salvando o menor valor no atributo self.maior_lance
será garantido que o primeiro lance salvo em lance.valor
seja sempre maior do que o valor salvo nesse atributo.
Já no atributo self.menor_lance
foi salvo o maior valor possível, assim existe a garantia de que o primeiro lance salvo em lance.valor
sempre será menor que o valor salvo no atributo inicialmente. Essa verificação será realizada no método avalia
.
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
Sobre os valores iniciais passados pela biblioteca sys
. Temos as seguintes informações:
sys.float_info.max: Informa o maior número positivo do tipo float possível.
sys.float_info.min: Informa o menor número positivo do tipo float possível.
Para sabermos quais são esses números, basta executarmos o seguinte código.
import sys
print(f'Esse é o maior número do tipo float permitido: {sys.float_info.max}')
print(f'Esse é o menor número do tipo float permitido: {sys.float_info.min}')
Resultado
Esse é o maior número do tipo float permitido: 1.7976931348623157e+308
Esse é o menor número do tipo float permitido: 2.2250738585072014e-308
Esses valores podem mudar de sistema para sistema, dependerá da capacidade de memória do sistema onde é executado o teste.
Para conhecer outras funções do parâmetros float_info
da biblioteca sys
, poderá ser consultado a seguinte documentação.
Em caso de dúvidas, fico à disposição.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!