1
resposta

[Dúvida] Lidando com excecoes - Aquecimento 1

Bom dia!

Estou tentando resolver a questao 1 que se segue:

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. Teste o programa com o segundo valor numérico do input igual a 0 e também teste utilizando caracteres textuais no input para checar os tipos de erro que ocorrem.

Eu digitei o seguinte codigo

a = float(input('Digite o divisor: '))
b = float(input('Digite o dividendo: '))
try:
    c = a/b
    
except ZeroDivisionError:
    print('Não se pode dividir por zero.')
except TypeError:
    print('A operação aceita apenas números')
else:
    print(c)

O meu codigo funcionou bonitinho para a divisao por zero, mas nao consigo fazer com que apareça a mensagem quando uso strings. Ja tentei trocar o typeerror por valueerror

1 resposta

Oi, Álvaro! Como vai?

Você está no caminho certo!

O que está acontecendo para a sua exceção para tratar valores que não são numéricos não acontecer, é que você está fazendo a conversão direto na entrada dos dados pelo usuário, antes do bloco try/except. Você pode mover o try para antes dos inputs, e então utilizar o ValueError no except.

Espero que dê tudo certo! Qualquer coisa me avise.

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!