Olá, Estudante. Como vai?
Excelente resolução! Com 26.8k de XP, você já demonstra que a lógica de programação está "no sangue". Seu código resolve o problema de forma limpa e direta, tratando inclusive o cenário de empate, que muitos iniciantes acabam esquecendo.
Gostaria de destacar um detalhe muito positivo no seu código e dar uma dica de "ouro" para projetos de monitoramento de vendas:
O que está excelente:
- Uso do f-string no empate: No
else, você usou f"Empate! Ambos venderam {macas} unidades.". Isso é ótimo porque fornece contexto ao usuário, informando não apenas o status, mas o valor exato que gerou o empate.
Dica para o "Mundo Real":
Em sistemas de comércio, é muito comum trabalharmos com listas de produtos que podem crescer. Se amanhã você precisar monitorar também a venda de laranjas e uvas, o seu código com if/elif começaria a ficar muito longo.
Uma forma de deixar esse "monitor" escalável seria usar um dicionário e a função max():
vendas = {
"Maçãs": int(input("Qtd de maçãs: ")),
"Bananas": int(input("Qtd de bananas: ")),
"Laranjas": int(input("Qtd de laranjas: "))
}
# Verifica se há empate total antes de buscar o maior
if len(set(vendas.values())) == 1:
print(f"Empate geral! Todos venderam {list(vendas.values())[0]} unidades.")
else:
vencedor = max(vendas, key=vendas.get)
print(f"O produto mais vendido foi: {vencedor}")
Uma curiosidade: Se você estivesse criando esse monitor para um dono de quitanda, você acha que seria interessante adicionar uma condição para alertar caso as vendas de ambos fossem zero ou muito baixas? Como você faria esse if extra?
Parabéns pelo progresso constante!