Advertisement
teslariu

cuadratica

Oct 2nd, 2021
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.17 KB | None | 0 0
  1. """
  2. Script que calcula las raíces de una ecuación cuadrática en el campo
  3. de los nros reales
  4. Ej:
  5. >>> Ingrese el tèrmino cuadrático: 1
  6. >>> Ingrese el término lineal: 10
  7. >>> Ingrese el término independiente: 5
  8. >>> No existen raíces en el campo de los nros reales
  9. """
  10. import datetime
  11.  
  12.  
  13.  
  14. def ingresar_datos():
  15.     a = float(input("Ingrese el término cuadrático: "))
  16.     b = float(input("Ingrese el término lineal: "))
  17.     c = float(input("Ingrese el término independiente: "))
  18.     return [a,b,c]
  19.  
  20.  
  21.  
  22.  
  23. def calcular_raices(a,b,c):
  24.     from math import sqrt
  25.     delta = b**2 - 4*a*c
  26.  
  27.     if not delta:
  28.         raices = -1*b / (2*a)
  29.         return raices
  30.     elif delta > 0:
  31.         raiz1 = (-1*b + sqrt(delta)) / (2*a)
  32.         raiz2 = (-1*b - sqrt(delta)) / (2*a)
  33.         return [raiz1, raiz2]
  34.     else:
  35.         return "No existen raices en el campo de los nros. reales"
  36.  
  37.  
  38. def grabar_datos(a,b,c,raices):
  39.     # escribo fecha y hora:
  40.     f.write(datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S") + "\n")
  41.     f.write("Parámetros de la parábola:\n")
  42.     f.write(f"Término cuadrático (a): {a}\n")
  43.     f.write(f"Término lineal (b): {b}\n")
  44.     f.write(f"Término independiente (c): {c}\n")
  45.     if isinstance(raices, float):
  46.         f.write("Existe una raíz: {:.3f}\n".format(raices))
  47.     elif isinstance(raices, list):
  48.         f.write("Existen dos raíces: {:.3f} y {:.3f}\n".format(raices[0], raices[1]))
  49.     else:
  50.         f.write(raices + "\n")
  51.     f.write(30*"-"+"\n")
  52.    
  53.    
  54.    
  55.  
  56. def imprimir(raices):
  57.     if isinstance(raices, float):
  58.         print("Existe una raíz: {:.3f}".format(raices))
  59.     elif isinstance(raices, list):
  60.         print("Existen dos raíces: {:.3f} y {:.3f}".format(raices[0], raices[1]))
  61.     else:
  62.         print(raices)
  63.  
  64.  
  65. ###  main  ##############
  66. print("Script que calcula raíces de una ec.cuadrática en R")
  67.  
  68. while True:
  69.     a,b,c = ingresar_datos()
  70.     raices = calcular_raices(a,b,c)
  71.     f = open("cuadratica.txt", "a")
  72.     grabar_datos(a,b,c,raices)
  73.     imprimir(raices)
  74.  
  75.     opcion = input("\nPresione cualquier tecla para continuar(o '1' para salir): ")
  76.     if opcion == "1":
  77.         print("Gracias por usar este programa...")
  78.         f.close()
  79.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement