Python - Ayuda! Como puedo Validar un Input?

   
Vista:

Ayuda! Como puedo Validar un Input?

Publicado por Fran (1 intervención) el 23/09/2009 02:48:14
A ver si logro explicarme bien.

Necesito validar un campo de entrada, de tal manera que el usuario solo pueda Introducir un Numero entero.. y que de lo contrario me imprima un mensaje 'Solo numeros enteros'.

tengo mas o menos la idea mas no entiendo bien la sintaxis de Python correctamente.
este es mi codigo.

while True:

valor1= int(input("Introduzca un Numero Entero :"))

# e aqui mi duda o gran error. con q lo comparo?

if valor1== int:
break

else:
print 'Solo numeros enteros'
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda! Como puedo Validar un Input?

Publicado por Marcelo Giron (3 intervenciones) el 23/09/2009 22:36:05
bueno mira si has visto excepciones lo deberias de hacer asi
while True:
try:
valor1=int(raw_input("ingrese un numero entero: "))
break
except ValueError:
print "ingrese un numero entero"

si no has visto excepciones lo que se me ocurre seria.

while True:
valor1=int(raw_input("ingrese un numero entero: "))
if type(valor1)==int:
break

lo que tiene de malo la segunda esque si vos ingresas letras sin comillas te va a tirar un error ya que no va a estar definido. por eso te recomiendo con excepciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda! Como puedo Validar un Input?

Publicado por raul (25 intervenciones) el 26/09/2009 19:04:18
hola marcelo para eso hay una funcion propia de python llamada type,por ejemplo

if valor1== type(1):
lo que sea
creo que funcionaba asi

espero ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda! Como puedo Validar un Input?

Publicado por daniel (1 intervención) el 20/02/2012 15:33:50
Para validar el tipo es mejor usar la funcion isinstance(obj,tipo)

En tu caso sería una cosa así:

valor1 = raw_input("ingrese un numero entero: ")
if not isinstance(valor1,int):
print "ingrese un numero entero"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar