24/08/2011, 07:47
|
| | Fecha de Ingreso: octubre-2009 Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 3 meses Puntos: 10 | |
Respuesta: Manejo de excepciones Cita:
Iniciado por Bael_Balzac Tengo el siguiente código:
Código:
while True:
y0 = 0
funcion = 0
paso = 0
while True:
if y0 or funcion or paso == 'salir':
break
else:
try:
y0 = int(input('y0 = '))
y = y0
funcion = input('Función = ')
paso = float(input('paso = '))
iteraciones = int (1/paso)
valor_actual = y0 + ( paso * funcion )
for i in range (iteraciones):
valor_actual = valor_actual + ( paso * (- valor_actual ) )
print 'y'+str(i+1)+' '+'='+' '+str(valor_actual)
except NameError:
print 'Error no es válido'
except ZeroDivisionError:
print 'Error division entre 0'
Tecleando 'salir' deberia de terminar el programa pero muestra 'Error no es válido'.
Tambien como hago para que imprima en pantalla cada 100 valores,probe con range(0,iteraciones,100),ejemplo:
y0 = 1
Funcion = -y
paso = 0.001 Hay muchos fallos en este código: - Deberías usar raw_input, ya que con input, te pueden inyectar código
- Si estas entrando los diferentes datos como float y como int, no podrás escribir "salir", no te lo va a aceptar
- En el if de arriba, debería ser: if y0 == 'salir' or funcion == 'salir' or paso == 'salir'
- Posiblemente (a mi me ocurre) en Función, en el input, te dará un error por el acento
- Aparte de todo eso, no entiendo la finalidad del código
Saludos!
__________________ Buscando ideas para proyectos....
Esperando a tener 18 años.... |