//esto no va
#! /usr/bin/python
import math
class Polinomio:
def __init__(self, n1, n2, n3):
self.a=n1
self.b=n2
self.c=n3
def suma(self, p2):
r1=self.a+p2.a
r2=self.b+p2.b
r3=self.c+p2.c
return Polinomio(r1, r2, r3)
def producto(self, n):
self.a*=n
self.b*=n
self.c*=n
def opuesto(self):
r1=self.a*-1
r2=self.b*-1
r3=self.c*-1
return Polinomio(r1, r2, r3)
def raices(self):
if (self.a==0) or ((math.pow(self.b,2) - (4*self.a*self.c)) < 0):
return 0, 0
else :
r1 = ((-1 * self.b) + math.sqrt( math.pow(self.b,2) -
(4*self.a*self.c))) / 2*self.a
r2 = ((-1 * self.b) - math.sqrt( math.pow(self.b,2) -
(4*self.a*self.c))) / 2*self.a
return r1, r2
def imprimir(self):
return str(self.a) + `x2 + ` + str(self.b) + `x + ` + str(self.c)
def pedirPolinomio():
a=int(raw_input(`Introduce el valor para a :`))
b=int(raw_input(`Introduce el valor para b :`))
c=int(raw_input(`Introduce el valor para c :`))
return Polinomio(a, b, c)
num=0
while num != 5 :
num=0
print `1.-Suma de polinomios`
print `2.-Producto por un escalar`
print `3.-Opuesto`
print `4.-Calculo de las raices de un polinomio`
print `5.-Salir`
while num < 1 or num > 5 :
num=int(raw_input(`Elige la opcion deseada : `))
if num==1:
print `Primer polinomio`
pol1=pedirPolinomio()
print `Segundo polinomio`
pol2=pedirPolinomio()
pol3=pol1.suma(pol2)
print `La suma de los polinomios ` + pol1.imprimir() + ` y ` +
pol2.imprimir() + ` da como resultado : ` + pol3.imprimir()
elif num==2:
print `Valor del polinomio`
pol=pedirPolinomio()
n=int(raw_input(`Ahora introduce el valor del escalar : `))
pol.producto(n)
print `Al multiplicar el polinomio por ` + str(n) + ` nos queda ` +
pol.imprimir()
elif num==3:
print `Valor del polinomio`
pol1=pedirPolinomio()
pol2=pol1.opuesto()
print `El opuesto de ` + pol1.imprimir() + ` es ` + pol2.imprimir()
elif num==4:
print `Valor del polinomio`
pol=pedirPolinomio()
if pol.c==0:
print `Al ser C=0 la raiz del polinomio es 0`
else:
r1, r2=pol.raices()
if r1==0:
print `Este polinomio no puede solucionarse`
else:
print `Las raices del polinomio ` + pol.imprimir() + ` son x=` +
str(r1) + ` y x=` + str(r2)
?>//esto no va