teslariu

cuadratica

Feb 3rd, 2021
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.38 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """ Programa que calcula las raices de una ecuación cuadrática en
  5. el campo de los nros reales ax**2 + bx + c
  6. EJ:
  7. >>> Ingrese el valor del coeficiente cuadrático: 1
  8. >>> Ingrese el valor del término lineal: 0
  9. >>> Ingrese el valor del término independiente: -25
  10. >>> Existen dos soluciones: 5.0 y -5.0
  11. >>> Presione cualquier tecla para continuar (o 'x' para salir): x
  12. >>> Gracias por utilizar este programa....
  13. """
  14. import math
  15.  
  16. def cargar_datos():
  17.     """Funcion que pide los datos y devuelve al prog principal"""
  18.     a = float(input("Ingrese el valor del coeficiente cuadrático: "))
  19.     b = float(input("Ingrese el valor del coeficiente lineal: "))
  20.     c = float(input("Ingrese el valor del coeficiente independiente: "))
  21.     return [a,b,c]
  22.  
  23.  
  24.    
  25. def calcular_raices(a,b,c):
  26.     """Funcion que calcula las raices"""
  27.     delta =  b*b - 4*a*c
  28.     if delta < 0:
  29.         return None
  30.     elif delta == 0:
  31.         raiz = -b / (2*a)
  32.         return raiz
  33.     else:
  34.         raiz1 = (-b + math.sqrt(delta)) / (2*a)
  35.         raiz2 = (-b - math.sqrt(delta)) / (2*a)
  36.         return [raiz1, raiz2]
  37.  
  38.        
  39. def imprimir_raices(raices):
  40.     """Función que devuelve una cadena imprimible con los resultados"""
  41.     if isinstance(raices, float):
  42.         return f"Existe una única solución: {raices}"
  43.    
  44.     elif isinstance(raices, list):
  45.         return f"Existen dos soluciones: {raices[0]} y {raices[1]}"
  46.    
  47.     else:
  48.         return "No existen soluciones en el campo de los nros reales"
  49.  
  50. print(""" Programa que calcula las raices de una ecuación cuadrática en
  51. el campo de los nros reales ax**2 + bx + c
  52. EJ:
  53. >>> Ingrese el valor del coeficiente cuadrático: 1
  54. >>> Ingrese el valor del término lineal: 0
  55. >>> Ingrese el valor del término independiente: -25
  56. >>> Existen dos soluciones: 5.0 y -5.0
  57. >>> Presione cualquier tecla para continuar (o 'x' para salir): x
  58. >>> Gracias por utilizar este programa....
  59. """)
  60.  
  61.  
  62. while True:
  63.     # Cargo los datos
  64.     a,b,c = cargar_datos()
  65.    
  66.     # Calculo las raices
  67.     raices = calcular_raices(a,b,c)
  68.    
  69.     # Imprimo los resultados
  70.     print(imprimir_raices(raices))
  71.    
  72.        
  73.     opcion = input("\nPresione cualquier tecla para continuar (o 'x' para salir): ")
  74.     if opcion.casefold() == "x":
  75.         print("Gracias por utilizar este programa....")
  76.         break
  77.  
  78.  
Advertisement
Add Comment
Please, Sign In to add comment