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 reices de una ec. cuadratica en el campo de los
- nros reales y lo guarda en un archivo "raices.txt "previamente creado
- """
- import datetime # para agregar fecha y hora
- 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 raices en el campo de los nros. reales\n"
- def grabar_datos(a,b,c,raices):
- # escribo fecha y hora
- f = open("raices.txt","a")
- 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 solución única: {:.2f}\n".format(raices))
- elif isinstance(raices, list):
- f.write("Existe dos soluciones: {:.2f} y {:.2f}\n".format(raices[0], raices[1]))
- else:
- f.write(raices + "\n")
- def imprimir_raices(raices):
- if isinstance(raices, float):
- print("Existe una solución única: {:.2f}".format(raices))
- elif isinstance(raices, list):
- print("Existe dos soluciones: {:.2f} y {:.2f}".format(raices[0], raices[1]))
- else:
- print(raices)
- print("Cálculo de raíces de una parábola")
- while True:
- a,b,c = ingresar_datos()
- raices = calcular_raices(a,b,c)
- grabar_datos(a,b,c,raices)
- imprimir_raices(raices)
- opcion = input("\nPresione cualquier tecla, o '1' para salir: ")
- if opcion == "1":
- print("Gracias por usar este programa...")
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement