Olá pessoal,
Segue código para o exercício
Obrigada!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal,
Segue código para o exercício
Obrigada!
Olá, Vanessa!
Parabéns por concluir o exercício Monitorando vendas no comércio. É muito interessante ver como você montou a estrutura do seu algoritmo, e trazer esse cenário prático de contagem de mercadorias ilustra muito bem a aplicação de desvios condicionais.
O ponto forte do seu script foi o mapeamento completo dos cenários de comparação usando o conjunto if, elif e else. Cobrir as três possibilidades matemáticas (uma quantidade ser maior, menor ou exatamente igual à outra) garante que o programa saiba o que responder independentemente dos valores que o usuário digitar, o que é uma excelente prática de lógica.
Contudo, ao analisar a execução do terminal na parte inferior da imagem, podemos notar um comportamento inesperado: o usuário digitou 15 para maçãs e 3 para bananas, mas o sistema disparou a mensagem "Foram vendidas mais bananas do que maçãs".
Esse retorno aconteceu por conta de uma característica nativa da função input() no Python. Por padrão, tudo o que é digitado pelo teclado é capturado como uma string (texto), e não como um número. Quando o Python compara textos usando os operadores > ou <, ele não olha o valor matemático, mas sim a ordem alfabética (código caractere por caractere).
Na ordenação de textos, o caractere "3" vem depois do caractere "1", fazendo com que a string "3" receba o veredito de ser "maior" do que a string "15", gerando a resposta invertida.
Pra corrigir o script e garantir que as validações funcionem com precisão matemática, o caminho é converter as entradas logo no momento da captura, desta forma:
macas_vendidas = int(input("Digite a quantidade de maçãs vendidas: "))
bananas_vendidas = int(input("Digite a quantidade de bananas vendidas: "))
if macas_vendidas > bananas_vendidas:
print("Foram vendidas mais maçãs do que bananas.")
elif bananas_vendidas > macas_vendidas:
print("Foram vendidas mais bananas do que maçãs.")
else:
print("As quantidades de maçãs e bananas vendidas foram iguais.")
Fazendo essa pequena modificação, os dados passam a ser armazenados como valores numéricos inteiros, permitindo que as estruturas de decisão avaliem as quantidades com exatidão.
Compreender essa distinção entre tipos de dados é um passo muito importante para evitar comportamentos inesperados em sistemas de triagem e relatórios comerciais.
Na sua visão, adicionar uma validação para impedir que o usuário digite números negativos na quantidade de frutas deixaria o monitoramento de vendas ainda mais seguro para o dia a dia?