Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estrutura de classes

Não ficou claro a relação entre as classes Usuario e Lance, pois, para impressão da lista "leilão.lances", conforme trecho abaixo, para "valor" temos lance.valor e para "usuario", lance.usuario.nome, qual a razão de ter que adicionar "nome", já que ele não foi declarado na classe Lance?

for lance in leilao.lances:
    print(f"O usuario {lance.usuario.nome} deu um lance de {lance.valor}")

Obrigado.

2 respostas
solução!

Opa Silvio, tudo bem?

Um Usuario pode dar um Lance. Quando isso acontece, o lance precisa ter algumas informações - qual o valor do lance e qual o usuário que propôs.

Para o valor nós passamos um número decimal (float), já para o usuário, nós passamos um objeto da classe usuário que contém o atributo nome.

Ou seja, quando fazemos lance.usuario.nome, na verdade estamos acessando o objeto usuario dentro do objeto lance e a partir desse usuário, acessamos seu atributo nome.

Olá Yuri, agora ficou claro. Obrigado pela resposta!