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 ecuaciòn cuadràtica en el
- campo de los nros reales
- raiz1,2 = (-b +/- raiz(delta)) / (2*a)
- delta = b**2 - 4*a*c
- """
- 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 guardar_datos(a,b,c,raices):
- f = open("cuadratica.txt", "a")
- if isinstance(raices,list):
- f.write("a:{} b:{} c:{} raiz1:{:.3f} raiz2:{:.3f}\n".format(a,b,c, raices[0],raices[1]))
- elif isinstance(raices, float):
- f.write("a:{} b:{} c:{} raiz:{:.3f}\n".format(a,b,c, raices))
- else:
- f.write("a:{} b:{} c:{} {}\n".format(a,b,c, raices))
- f.close()
- def calcular_raices(a,b,c):
- from math import sqrt
- delta = b**2 - 4*a*c
- if delta > 0:
- raiz1 = (-1*b + sqrt(delta)) / (2*a)
- raiz2 = (-1*b - sqrt(delta)) / (2*a)
- return [raiz1, raiz2]
- elif delta < 0:
- return "No existen soluciones en el campo de los nros. reales"
- else:
- raiz = (-1*b) / (2*a)
- return raiz
- def imprimir_raices(raices):
- if isinstance(raices,list):
- print("Existen dos soluciones: {:.3f} y {:.3f}".format(raices[0],raices[1]))
- elif isinstance(raices, float):
- print("Existe una solución: {:.3f}".format(raices))
- else:
- print(raices)
- print("Calculo de raíces de una ec.cuadrática")
- print("--------------------------------------")
- while True:
- a,b,c = ingresar_datos()
- raices = calcular_raices(a,b,c)
- imprimir_raices(raices)
- guardar_datos(a,b,c,raices)
- opcion = input("\nPresione cualquier tecla para continuar ('1' para salir): ")
- if opcion == "1":
- print("Adios...")
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement