Python - Entrada de datos

 
Vista:

Entrada de datos

Publicado por Alejandro (1 intervención) el 13/02/2007 11:03:50
Hola:

Me gustaria saber si hay algun truco o mértodo para controlar o verificar la entrada de datos cuando introduzco un dato que no es el adecuado, por ejemplo si pusiera este código:

x = int(raw_input("Introduce un numero:"))

Si metiera un caracter o una cadena de texto, por ejemplo las letras "de", que no me devolviera el siguiente error:

Traceback (most recent call last):
File "decabin.py", line 18, in ?
x = int(raw_input("Introduce un numero:"))
ValueError: invalid literal for int(): de
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:Entrada de datos

Publicado por Joaquin (61 intervenciones) el 21/02/2007 13:12:03
Hola:

tal vez lo hayas resuelto ya, el trabajar con errores es algo sencillo, en tu caso, me ha sido imposible reproducir tu línea de código, creo que la forma correcta sería:

x=int(input('introduce un número:')

claro, si introducimos aquí una sentencia de letras, nos dará un error (NameError), por lo que debemos hacer lo siguiente:

try:
x=int(input('Introduce un número:'))
except NameError:
print 'has introducido letras, no números')

No se si esto es lo que querías, si no te convence puedes usar otras alternativas como:

x = str(raw_input("Introduce un numero:"))

en este caso podrás introducir números y letras, sin que te dé error, pero recuerda que es un string, y en el caso de que quieras usar los números para realizar los cálculos que desees tendrás que convertirlos, en este caso basta con poner algo así como:

y=int(x) ó y=float(x), depende de la precisión que quieras dar.

salu2

Joaquin
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