01/05/2012, 19:15
|
| | Fecha de Ingreso: diciembre-2011 Ubicación: Culiacán
Mensajes: 10
Antigüedad: 12 años, 11 meses Puntos: 0 | |
Respuesta: Soy principiante:Ayuda con programa en Python: Método de la bisección (No
Código:
# -*- coding: utf-8 -*-
Titulo = "Método de la bisección"
Iteraciones=int(raw_input("Teclee el número de iteraciones"))
X1=float(raw_input("Teclee un valor para X1"))
X2=float(raw_input("Teclee un valor para X2"))
TOL=float(raw_input("Teclee la tolerancia"))
if TOL<0:
TOL=TOL*(-1)
fX1=3*X1*X1-5
fX2=3*X2*X2-5
Prod=fX1*fX2
if fX1==0:
print "Se tecleó la solución exacta= ",X1
Solucion=X1
#return_ok
#return true
if fX2==0:
print "Se tecleó la solución exacta= ",X2
Solucion=X2
#return_ok
#return true
while Prod >= 0:
print("Esta no es una combinación válida")
X1=float(raw_input("Teclee un nuevo valor para X1"))
X2=float(raw_input("Teclee un valor para X2"))
fX1=3*X1*X1-5
fX2=3*X2*X2-5
Prod=fX1*fX2
if fX1==0:
print "Se tecleó la solución exacta= ",X1
Solucion=X2
#return_ok
#return true
if fX2==0:
print "Se tecleó la solución exacta= ",X2
Solucion=X2
#return_ok
#return true
print repr("I").rjust(2), repr("X1").rjust(3), repr("X2").rjust(4), repr("X2-X1").rjust(5),
print repr("Xm").rjust(6), repr("f(X1)").rjust(7), repr("f(Xm)").rjust(8), repr("Error").rjust(9)
print()
for i in range(1,Iteraciones-1):
X2menosX1=X2-X1
Xm=(X1+X2)/2
fX1=3*X1*X1-5
fXm=3*Xm*Xm-5
E=Xm-X1
if E<0:
E=E*(-1)
if 3*Xm*Xm-5==0:
print "La raíz es= ",Xm
Solucion=Xm
#return_ok
#return true
print repr(i).rjust(2),
print repr(X1).rjust(3),
print repr(X2).rjust(4),
print repr(X2menosX1).rjust(5),
print repr(Xm).rjust(6),
print repr(fX1).rjust(7),
print repr(fXm).rjust(8),
print repr(E).rjust(9)
if fX1*fXm<0:
X2=Xm
else:
X1=Xm
if Solucion==None
print("No se encontró una solución")
if e>TOL
print("No se encontró una solución")
Hice unas adecuaciones al código, pero ahora me marca error en el penúltimo if. Leí que se usa None en nugar de Null como en Java.
¿Cuál puede ser el factor que esté causando el error? |