Importante

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!

1
resposta

Desafio: hora da prática

Olá Colegas!

1. Faça um programa que solicite à pessoa usuária digitar dois números float e calcular a divisão entre esses números. O código deve conter um tratamento de erro, indicando o tipo de erro que foi gerado caso a divisão não seja possível de realizar.

try:
    # 1. Solicita as entradas e tenta convertê-las para float
    num1 = float(input("Digite o primeiro número: "))
    num2 = float(input("Digite o segundo número: "))
    
    # 2. Tenta realizar a divisão
    resultado = num1 / num2
    print(f"O resultado da divisão é: {resultado}")

except ValueError:
    # Captura o erro caso o usuário digite letras ou caracteres especiais
    print("Erro gerado: ValueError (Você deve digitar apenas números decimais ou inteiros).")

except ZeroDivisionError:
    # Captura o erro caso o segundo número digitado seja zero
    print("Erro gerado: ZeroDivisionError (Não é possível dividir um número por zero).")

Saída:

Digite o primeiro número: zero
Erro gerado: ValueError (Você deve digitar apenas números decimais ou inteiros)

Outa Saída:

Digite o primeiro número: 0
Digite o segundo número: 0
Erro gerado: ZeroDivisionError (Não é possível dividir um número por zero).

Até a proxima amigao!

1 resposta

Oi, Vanelice! Como vai?

Você fez um ótimo trabalho ao usar try e except para tratar os dois casos esperados: entrada inválida com ValueError e divisão por zero com ZeroDivisionError. Também ficou muito bom incluir mensagens explicando o tipo de erro, porque isso ajuda a pessoa usuária a entender o que aconteceu durante a execução do programa.

Dica: para deixar o código ainda mais completo, você pode adicionar um else para mostrar o resultado apenas quando não houver erro, separando melhor o fluxo de sucesso do fluxo de exceção.

Você chegou a testar o programa digitando um número decimal com ponto, como 10.5?

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