-
-
Save Ismael-VC/58a5be628b9f3f447265 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#usr/bin/python | |
#coding: utf-8 | |
#Cdt.py | |
from math import * | |
#resolveremos una ecuacion cuadratica de la forma ax^2+bx+c=0 | |
class Cdt(object): | |
def __init__(self, cc, cx, ti): #cc=a, cx=b y ti=c | |
self.a1=cc | |
self.b1=cx | |
self.c1=ti | |
self.solucion() | |
def solucion(self): | |
a=self.a1 | |
b=self.b1 | |
c=self.c1 | |
lista=[] | |
if a>0: | |
if ((b**2)-4*a*c)>0: | |
x1=(-b+sqrt((b**2)-4*a*c))/(2*a) | |
x2=(-b-sqrt((b**2)-4*a*c))/(2*a) | |
lista.append(x1) | |
lista.append(x2) | |
return lista | |
elif ((b**2)-4*a*c)<0: | |
r=-b/(2*a) | |
i1=sqrt(4*a*c-(b**2)) | |
i2=-i1 | |
lista.append(r) | |
lista.append(i1) | |
lista.append(i2) | |
return lista | |
elif ((b**2)-4*a*c)==0: | |
x1=-b/(2*a) | |
lista.append(x1) | |
return lista | |
elif a<0: | |
return Cdt(-a,-b,-c) | |
elif a==0: | |
if b!=0: | |
if c!=0: | |
x1=-c/b | |
lista.append(x1) | |
return lista | |
else: | |
x1=0 | |
lista.append(x1) | |
return lista | |
else: | |
if c==0: | |
x1=0 | |
lista.append(x1) | |
return lista | |
a2=input("ingrese el coeficiente de x^2: ") | |
b2=input("ingrese el coeficiente de x: ") | |
c2=input("ingrese el termino independiente: ") | |
x=Cdt(a2,b2,c2) | |
#x.solucion(a2,b2,c2) | |
if a2==0: | |
if b2!=0: | |
if c2!=0 and c2>0: | |
print "la solucion de la ecuacion "+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x="+str(x[0]) | |
elif c2!=0 and c2<0: | |
print "la solucion de la ecuacion "+str(b2)+"x"+str(c2)+"=0 es:" | |
print "x="+str(x[0]) | |
elif b2==0: | |
if c2==0: | |
print "x="+str(x[0]) | |
else: | |
print "estas comparando un termino real con un cero" | |
else: | |
if ((b2**2)-4*a2*c2)>0: | |
if b2!=0 and b2>0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
elif c2!=0 and c2<0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
elif c2==0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
else: | |
print "ingresa un termino independiente real." | |
elif b2!=0 and b2<0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
elif c2!=0 and c2<0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
elif c2==0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
else: | |
print "ingresa un termino independiente real." | |
elif b2==0: | |
if c2!=0 and c2<0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:" | |
print str(a2)+"x^2"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+" y x2="+str(x[1]) | |
else: | |
print "ingresa un termino independiente real." | |
elif ((b2**2)-4*a2*c2)<0: | |
if b2!=0 and b2>0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+str((-1*x[1]))+"i)(x+"+str((-1*x[0]))+"+"+str((-1*x[2]))+"i)=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i" | |
else: | |
print "ingresa un termino independiente real." | |
elif b2!=0 and b2<0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+str((-1*x[1]))+"i)(x"+str((-1*x[0]))+"+"+str((-1*x[2]))+"i)=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i" | |
else: | |
print "ingresa un termino independiente real." | |
elif b2==0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(c2)+"=(x"+str((-1*x[1]))+"i)(x+"+str((-1*x[2]))+"i)=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:" | |
print "x1="+str(x[1])+"i y x2="+str(x[2])+"i" | |
else: | |
print "ingresa un termino independiente real." | |
elif ((b2**2)-4*a2*c2)==0: | |
if b2!=0 and b2>0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")^2=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0]) | |
else: | |
print "ingresa un termino independiente real." | |
elif b2!=0 and b2<0: | |
if c2!=0 and c2>0: | |
print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")^2=0" | |
print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:" | |
print "x1="+str(x[0]) | |
else: | |
print "ingresa un termino independiente real." | |
elif b2==0: | |
if c2==0: | |
print "la solucion de la ecuacion "+str(a2)+"x^2=0 es:" | |
print "x1="+str(x[0]) | |
else: | |
print "ingresa un termino independiente real." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment