Advertisement
teslariu

cuadratica1

Sep 4th, 2021
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script que calcula las reices de una ec. cuadratica en el campo de los
  6. nros reales y lo guarda en un archivo "raices.txt "previamente creado
  7. """
  8.  
  9. import datetime    # para agregar fecha y hora
  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 calcular_raices(a,b,c):
  19.     from math import sqrt
  20.     delta = b**2 - 4*a*c
  21.    
  22.     if not delta:
  23.         raiz = -1*b / (2*a)
  24.         return raiz
  25.    
  26.     elif delta > 0:
  27.         raiz1 = (-1*b + sqrt(delta)) / (2*a)
  28.         raiz2 = (-1*b - sqrt(delta)) / (2*a)
  29.         return [raiz1, raiz2]
  30.        
  31.     else:
  32.         return "No existen raices en el campo de los nros. reales\n"
  33.        
  34.  
  35.    
  36. def grabar_datos(a,b,c,raices):
  37.     # escribo fecha y hora
  38.     f = open("raices.txt","a")
  39.     f.write(datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S") + "\n")
  40.     f.write("Parámetros de la parábola:\n")
  41.     f.write(f"Término cuadrático (a): {a}\n")
  42.     f.write(f"Término lineal (b): {b}\n")
  43.     f.write(f"Término independiente (c): {c}\n")
  44.    
  45.     if isinstance(raices, float):
  46.         f.write("Existe una solución única: {:.2f}\n".format(raices))
  47.     elif isinstance(raices, list):
  48.         f.write("Existe dos soluciones: {:.2f} y {:.2f}\n".format(raices[0], raices[1]))
  49.     else:
  50.         f.write(raices + "\n")
  51.    
  52.  
  53.  
  54. def imprimir_raices(raices):
  55.     if isinstance(raices, float):
  56.         print("Existe una solución única: {:.2f}".format(raices))
  57.     elif isinstance(raices, list):
  58.         print("Existe dos soluciones: {:.2f} y {:.2f}".format(raices[0], raices[1]))
  59.     else:
  60.         print(raices)  
  61.    
  62.  
  63.  
  64. print("Cálculo de raíces de una parábola")
  65.  
  66. while True:
  67.     a,b,c = ingresar_datos()
  68.     raices = calcular_raices(a,b,c)
  69.     grabar_datos(a,b,c,raices)
  70.     imprimir_raices(raices)
  71.    
  72.     opcion = input("\nPresione cualquier tecla, o '1' para salir: ")
  73.     if opcion == "1":
  74.         print("Gracias por usar este programa...")
  75.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement