Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- """
- Script que calcula las raices de una ecuacion cuadratica y las guarda
- en un archivo
- Ej:
- >>> Ingrese el término cuadrático (a): 1
- >>> Ingrese el término lineal (b): 1
- >>> Ingrese el término independiente (c): 1
- >>> No existen raíces en el campo de los nros reales
- >>> Datos guardados
- """
- import datetime # para agregar fecha y hora al registro
- def ingresar_datos():
- a = float(input("Ingrese el término cuadrático (a): "))
- b = float(input("Ingrese el término lineal (b): "))
- c = float(input("Ingrese el término independiente (c): "))
- return [a,b,c]
- def calcular_raices(a,b,c):
- from math import sqrt
- delta = b**2 - 4*a*c
- if not delta:
- raiz = -1*b / (2*a)
- return raiz
- elif delta > 0:
- raiz1 = (-1*b + sqrt(delta)) / (2*a)
- raiz2 = (-1*b - sqrt(delta)) / (2*a)
- return [raiz1, raiz2]
- else:
- return "No existen raíces en el campo de los nros reales"
- def imprimir(raices):
- if isinstance(raices,float):
- print("Existe una raíz: {:.2f}".format(raices))
- elif isinstance(raices,list):
- print("Existe dos raíces: {:.2f} y {:.2f}".format(raices[0],raices[1]))
- else:
- print(raices)
- def grabar_datos(a,b,c,raices):
- """
- Guarda fecha y hora junto a los parámetros de la parábola a,b,c
- y sus raíces
- """
- f.write(datetime.datetime.now().strftime('%d/%m/%y %H:%M:%S') + '\n')
- f.write("Parámetros de la parábola:\n")
- f.write(f"Término cuadrático (a): {a}\n")
- f.write(f"Término lineal (b): {b}\n")
- f.write(f"Término independiente (c): {c}\n")
- if isinstance(raices,float):
- f.write("Existe una raíz: {:.2f}\n\n".format(raices))
- elif isinstance(raices,list):
- f.write("Existe dos raíces: {:.2f} y {:.2f}\n\n".format(raices[0],raices[1]))
- else:
- f.write(raices + '\n\n')
- return "Datos guardados"
- ##########################################
- f = open("cuadratica.txt","a")
- print("\nScript que calcula las raices de una ecuacion cuadratica")
- while True:
- a,b,c = ingresar_datos()
- raices = calcular_raices(a,b,c)
- imprimir(raices)
- print(grabar_datos(a,b,c,raices))
- opcion = input("Presione 1 para salir (o cualquier tecla para continuar): ")
- if opcion == "1":
- print("Gracias por usar este programa...")
- f.close()
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement