Ver Mensaje Individual
  #7 (permalink)  
Antiguo 01/05/2012, 19:29
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Soy principiante:Ayuda con programa en Python: Método de la bisección (No

Tienes varios errores de sintaxis, corregí la mayoría (espero que no se me haya escapado alguno).

Tus errores son, olvidas el : (dos puntos) después de cada if. Este lenguaje no es como visual basic, aquí si las variables están en mayúsculas o minúsculas si importa.

Otra cosa es que si quieres usar una variable la tienes que inicializar, al menos.

Código Python:
Ver original
  1. #-*-coding: utf-8-*-
  2. Solucion = None
  3. Titulo = "Método de la bisección"
  4.  
  5. Iteraciones=int(raw_input("Teclee el número de iteraciones"))
  6. X1=float(raw_input("Teclee un valor para X1"))
  7. X2=float(raw_input("Teclee un valor para X2"))
  8. TOL=float(raw_input("Teclee la tolerancia"))
  9. if TOL<0:
  10.     TOL=TOL*(-1)
  11.  
  12. fX1=3*X1*X1-5
  13. fX2=3*X2*X2-5
  14. Prod=fX1*fX2
  15.  
  16. if fX1==0:
  17.     print "Se tecleó la solución exacta= ",X1
  18.     Solucion=X1
  19.     #return_ok
  20.     #return true
  21.    
  22. if fX2==0:
  23.     print "Se tecleó la solución exacta= ",X2
  24.     Solucion=X2
  25.     #return_ok
  26.     #return true
  27.    
  28. while Prod >= 0:
  29.     print("Esta no es una combinación válida")
  30.     X1=float(raw_input("Teclee un nuevo valor para X1"))
  31.     X2=float(raw_input("Teclee un valor para X2"))
  32.     fX1=3*X1*X1-5
  33.     fX2=3*X2*X2-5
  34.     Prod=fX1*fX2
  35.     if fX1==0:
  36.         print "Se tecleó la solución exacta= ",X1
  37.         Solucion=X2
  38.         #return_ok
  39.         #return true
  40.     if fX2==0:
  41.         print "Se tecleó la solución exacta= ",X2
  42.         Solucion=X2
  43.         #return_ok
  44.         #return true
  45.    
  46. print repr("I").rjust(2), repr("X1").rjust(3), repr("X2").rjust(4), repr("X2-X1").rjust(5),
  47. print repr("Xm").rjust(6), repr("f(X1)").rjust(7), repr("f(Xm)").rjust(8), repr("Error").rjust(9)
  48. print()
  49. for i in range(1,Iteraciones-1):
  50.     X2menosX1=X2-X1
  51.     Xm=(X1+X2)/2
  52.     fX1=3*X1*X1-5
  53.     fXm=3*Xm*Xm-5
  54.     E=Xm-X1
  55.     if E<0:
  56.         E=E*(-1)
  57.     if 3*Xm*Xm-5==0:
  58.         print "La raíz es= ",Xm
  59.         Solucion=Xm
  60.         #return_ok
  61.         #return true
  62.     print repr(i).rjust(2),
  63.     print repr(X1).rjust(3),
  64.     print repr(X2).rjust(4),
  65.     print repr(X2menosX1).rjust(5),
  66.     print repr(Xm).rjust(6),
  67.     print repr(fX1).rjust(7),
  68.     print repr(fXm).rjust(8),
  69.     print repr(E).rjust(9)
  70.     if fX1*fXm<0:
  71.         X2=Xm
  72.     else:
  73.         X1=Xm
  74.  
  75. if Solucion==None:
  76.     print("No se encontró una solución")
  77.  
  78. if E>TOL:
  79.     print("No se encontró una solución")