Advertisement
teslariu

cuad

May 5th, 2021
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Programa que calcula las raices de una ecuación cuadrática en
  6. el campo de los nros reales ax**2 + bx + c
  7. EJ:
  8. >>> Ingrese el valor del coeficiente cuadrático: 1
  9. >>> Ingrese el valor del término lineal: 0
  10. >>> Ingrese el valor del término independiente: -25
  11. >>> Existen dos soluciones: 5.0 y -5.0
  12. >>> Presione cualquier tecla para continuar (o 'x' para salir): x
  13. >>> Gracias por utilizar este programa....
  14.  
  15. """
  16. import sys
  17. from math import sqrt
  18.  
  19.  
  20. def cargar_datos():
  21.     lista = []
  22.     while len(lista) < 3:
  23.         try:
  24.             numero = float(input("Ingrese un numero: "))
  25.         except ValueError:
  26.             print("No ha ingresado un número")
  27.         else:
  28.             lista.append(numero)
  29.     return lista
  30.            
  31.    
  32. def calcular_raices(a,b,c):
  33.     delta = b**2 - 4*a*c
  34.     if delta < 0:
  35.         return None
  36.     elif not delta:
  37.         raiz = -b / (2*a)
  38.         return raiz
  39.     else:
  40.         raiz1 = (-b + sqrt(delta)) / (2*a)
  41.         raiz2 = (-b - sqrt(delta)) / (2*a)
  42.         return [raiz1, raiz2]
  43.  
  44.  
  45. def imprimir(raices):
  46.     if isinstance(raices,float):
  47.         print(f"Raiz: {raices}")
  48.    
  49.     elif isinstance(raices, list):
  50.         print(f"Raiz 1: {raices[0]}, Raiz 2: {raices[1]}")
  51.    
  52.     else:
  53.         print("No existen raices")
  54.  
  55.  
  56. a,b,c = cargar_datos()
  57. if not a:
  58.     print("El coeficiente a es cero. No es una cuadratica")
  59.     sys.exit()
  60.    
  61. raices = calcular_raices(a,b,c)
  62. imprimir(raices)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement