Advertisement
teslariu

cuadraticafile

Jul 24th, 2021
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.94 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """Script que calcula las raices de una ecuaciòn cuadràtica en el
  4. campo de los nros reales
  5.  
  6. raiz1,2 = (-b +/- raiz(delta)) / (2*a)
  7. delta = b**2 - 4*a*c
  8.  
  9. """
  10.  
  11. def ingresar_datos():
  12.     a = float(input("Ingrese el término cuadrático a: "))
  13.     b = float(input("Ingrese el término lineal b: "))
  14.     c = float(input("Ingrese el término independiente c: "))
  15.     return [a,b,c]
  16.    
  17.    
  18. def guardar_datos(a,b,c,raices):
  19.     f = open("cuadratica.txt", "a")
  20.     if isinstance(raices,list):
  21.         f.write("a:{} b:{} c:{} raiz1:{:.3f} raiz2:{:.3f}\n".format(a,b,c, raices[0],raices[1]))
  22.    
  23.     elif isinstance(raices, float):
  24.         f.write("a:{} b:{} c:{} raiz:{:.3f}\n".format(a,b,c, raices))
  25.        
  26.     else:
  27.         f.write("a:{} b:{} c:{} {}\n".format(a,b,c, raices))
  28.     f.close()
  29.  
  30.    
  31. def calcular_raices(a,b,c):
  32.     from math import sqrt
  33.     delta = b**2 - 4*a*c
  34.    
  35.      
  36.     if delta > 0:
  37.         raiz1 = (-1*b + sqrt(delta)) / (2*a)
  38.         raiz2 = (-1*b - sqrt(delta)) / (2*a)
  39.         return [raiz1, raiz2]
  40.     elif delta < 0:
  41.         return "No existen soluciones en el campo de los nros. reales"
  42.     else:
  43.         raiz = (-1*b) / (2*a)
  44.         return raiz
  45.    
  46.  
  47. def imprimir_raices(raices):
  48.     if isinstance(raices,list):
  49.         print("Existen dos soluciones: {:.3f} y {:.3f}".format(raices[0],raices[1]))
  50.    
  51.     elif isinstance(raices, float):
  52.         print("Existe una solución: {:.3f}".format(raices))
  53.        
  54.     else:
  55.         print(raices)
  56.    
  57.  
  58.  
  59.  
  60. print("Calculo de raíces de una ec.cuadrática")
  61. print("--------------------------------------")
  62.  
  63. while True:
  64.     a,b,c = ingresar_datos()
  65.     raices = calcular_raices(a,b,c)
  66.     imprimir_raices(raices)
  67.     guardar_datos(a,b,c,raices)
  68.    
  69.     opcion = input("\nPresione cualquier tecla para continuar ('1' para salir): ")
  70.     if opcion == "1":
  71.         print("Adios...")
  72.         break
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement