SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: DarkGhetto22 en Sábado 10 de Marzo de 2012, 12:55

Título: Problema con excepcion :S
Publicado por: DarkGhetto22 en Sábado 10 de Marzo de 2012, 12:55
Código: [Seleccionar]
operacion = raw_input("Que operacion deseas realizar: ""\n1-Agregar: "
                      "\n2-Modificar: " "\n3-Eliminar: " "\n4-Ver resultado: " "\n5-Salir: ")

while(operacion >= str(6) or operacion<=str(0)):
    operacion = raw_input("Que operacion deseas realizar: ""\n1-Agregar: "
                      "\n2-Modificar: " "\n3-Eliminar: " "4-Ver resultado: " "\n5-Salir: ")


if(operacion == str(1)):
    articulo = raw_input("Digite un producto: ")
    cantidad = raw_input("Cantidad de producto a registrar: ")


try:
    int(cantidad)
except:
    while(cantidad<str(1)):
#el problema esta en que no me esta lanzando la siguiente excepcion, no se porque
        cantidad = raw_input("Cantidad de producto a registrar: ")

if(cantidad>=str(1)):
    print "sss"
if(operacion==str(5)):
    exit();


La excepcion del try and except no me la lanza no tengo idea del porque, es una tarea que estoy haciendo, es un sistema de inventario....por favor si alguien puede contestarme lo mas pronto posible se lo agradeceria!!!
Título: Re:Problema con excepcion :S
Publicado por: RadicalEd en Sábado 10 de Marzo de 2012, 16:59
Qué tratas de hacer?, no he podido entender; yo colocaría la excepción así:
Código: Python
  1. try:
  2.     while(cantidad<str(1)):
  3. #el problema esta en que no me esta lanzando la siguiente excepcion, no se porque
  4.         cantidad = raw_input("Cantidad de producto a registrar: ")
  5. except:
  6.     import sys
  7.     sys.exit()
  8.  
Título: Re:Problema con excepcion :S
Publicado por: arielb en Lunes 12 de Marzo de 2012, 17:02
Hola, bienvenido al foro.
Te falta definir el tipo de exception, puedes utilizar ValueError, y mientras que avanza sea TRUE pides en el teclado el valor correcto.


Código: Python
  1. import sys
  2.  
  3. avanza=1
  4. while avanza:
  5.     try:
  6.         cantidad = raw_input("Cantidad de producto a registrar: ")
  7.         int(cantidad)
  8.         avanza=0
  9.     except ValueError:
  10.        print "Valor incorrecto"
  11.        avanza=1
  12.    
  13. if avanza==0:
  14.     print "Listo!!"