4.12. Entrada por teclado

Los programas que hemos escrito hasta ahora son un poco maleducados en el sentido de que no aceptan entradas de datos del usuario.

Simplemente hacen lo mismo siempre.

Python proporciona funciones internas que obtienen entradas desde el teclado.

La mas sencilla se llama raw input. Cuando llamamos a esta función, el programa se detiene y espera a que el usuario escriba algo. Cuando el usuario pulsa la tecla Return o Entre, el programa se reanuda y raw input devuelve lo que el usuario escribió como tipo string:

   1: >>> entrada = raw_input ()
   2: ¿A que estas esperando?
   3: >>> print entrada A que estas esperando?

Antes de llamar a raw input es conveniente mostrar un mensaje que le pida al usuario el dato solicitado. Este mensaje se llama indicador (prompt en ingles).


Puede proporcionarle un indicador a raw input como argumento:




   1: >>> nombre = raw_input ("Como te llamas? ")
   2: Como te llamas? Hector, 
   3: heroe de los Troyanos!
   4: >>> print nombre
   5: Hector, heroe de los 
   6: Troyanos!

Si espera que la entrada sea un entero, utilice la función input. Por ejemplo:




   1: >>> indicador = \
   2: ... "Cual es la velocidad de una golondrina sin 
   3: carga?\n"
   4: >>> velocidad = input (indicador)

Si el usuario teclea una cadena de números, se convertirá en un entero y se asignara a velocidad. Por desgracia, si el usuario escribe algo que no sea un dígito, el programa dará un error:




   1: >>> velocidad = input (indicador)
   2: Cual es la velocidad de una 
   3: golondrina sin carga?
   4: Se refiere usted a la golondrina europea o a la 
   5: africana?
   6: SyntaxError: invalid syntax

Para evitar este tipo de error, generalmente es buena idea usar raw input para obtener una cadena y usar entonces las funciones de conversión para convertir a otros tipos.

Comentarios

Entradas populares