1
resposta

Monitorando vendas no comércio

Olá pessoal,

Segue código para o exercício
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigada!

1 resposta

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?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!