No código abaixo tem um pequeno algoritmo da famosa equação do segundo grau, utilizando a linguagem Python e utilizando dois recursos muito importantes em programação que são o levantamento de exceções e funções.
1 from math import sqrt 2 3 def testandoNum(numero): 4 while True: 5 try: 6 n = float(input(numero)) 7 except (ValueError, TypeError): 8 print("Você não digitou um numero") 9 continue 10 else: 11 return n 12 13 def segGrau(a, b, c): 14 delta = b*b - 4 * a * c 15 16 if delta < 0: 17 print('Delta é negativo, logo x não pertence aos números reais!') 18 else: 19 x1 = (-b + sqrt(delta)) / (2*a) 20 21 x2 = (-b - sqrt(delta)) / (2*a) 22 23 print('O valor de X\' é: ', x1, 'O valor de X\'\' é: ', x2) 24 25 num1 = testandoNum('Digite O valor de a: ') 26 num2 = testandoNum('Digite o valor de b: ') 27 num3 = testandoNum('Digite o valor de c: ') 28 29 segGrau(num1, num2, num3)
Você pode testa o código no compilador on-line: https://www.onlinegdb.com/online_python_compiler.
Obs: Digite o código.
Explicando o Código
from math import sqrt: Esse comando faz a importação da função sqrt do modulo math, função responsável por fazer o cálculo da raiz quadrada.
def testandoNum(numero): A palavra def é usada para definir funções, no caso temos a função testandoNum que vai receber numero.
while True: É o loop infito
try: Irá testa se determinado bloco de código não irá gerar nenhum erro, no caso n = float(input(numero)) que irá receber o numero no tipo float, caso o usuário digite por exemplo uma letra ele irá cair no except que irá mostrar a mensagem de erro, e por meio do comando continue ira volta para loop até o usuário digitar um valor válido. Caso o usuário digite um valor válido o programa irá para o comando else que retornara n (return n) e sairá do loop.
def segGrau (a, b, c): irá receber os valores que já foram testado pela função testandoNum, e irá fazer os cálculos.
if delta < 0: caso o cálculo de delta = b*b – 4 * a * c for menor do que 0 aparecerá a mensagem ‘Delta é negativo, logo x não pertence aos números reais!’. Se delta for maior que 0 (entrará no comando else) irá fazer o restante dos cálculos.
Obs: O código “print(‘O valor de X\’ é: ‘, x1, ‘O valor de X\’\’ é: ‘, x2)“, pode ser escrito assim também, print(‘O valor de X\’ é: {x1}, o valor de X\’\’ é, {x2}’.format) ou print(f’O valor de X\’ é: {x1}, o valor de X\’\’ é, {x2}’) nas ultimas atualizações do Python!
num1, num2, num3: Receberam o valor da função testandoNum.
segGrau(num1, num2, num3): Aqui num1, num2, num3 serão os argumentos da função segGrau, que irá fazer os cálculos!
Espero ter ajudado!
0 comentário