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

[Projeto] Minha resposta com tratamento a erros

import sys

qtd_macas = input('Digite a quantidade de maçãs que foram vendidas: ')
qtd_bananas = input('Digite a quantidade de bananas que foram vendidas: ')

try:
    qtd_macas = int(qtd_macas)
    qtd_bananas = int(qtd_bananas)
except Exception as e:
    print('Ocorreu um erro:', e)
    sys.exit(1)

if qtd_macas < 0 or qtd_bananas < 0:
    print('O número de vendas deve ser positivo.')
    sys.exit(1)

if qtd_macas > qtd_bananas:
    print('As maçãs tiveram mais vendas.')
elif qtd_bananas > qtd_macas:
    print('As bananas tiveram mais vendas.')
else:
    print('A quantidade de vendas foi a mesma entre maçãs e bananas.')
2 respostas
solução!

Oii, Gabriel.

É excelente ver a preocupação com a integridade dos dados, algo que diferencia um código simples de um sistema pronto para o uso real.

Ao utilizar o bloco try-except e a verificação de números negativos, você garantiu que o programa não quebre caso o usuário digite letras ou valores que não fazem sentido para uma venda.

Abaixo, destaco os pontos principais que tornam seu código resiliente:

  • Tratamento de exceções: O uso do try...except evita que o programa apresente um erro técnico (traceback) para o usuário final.
  • Validação de regra de negócio: Verificar se qtd_macas < 0 é fundamental, pois, em um cenário de vendas, não existem quantidades negativas.
  • Encerramento limpo: O uso do sys.exit(1) é uma forma correta de interromper a execução quando uma condição crítica de erro é encontrada.

Continue firme nos estudos.

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

Olá, Lorena! Muito obrigado pelo seu feedback! Continuarei firme nos estudos :)