Entrada de datos por consola (teclado) en Python

Entrada de datos por consola (teclado)

Cuando trabajamos con la consola o el terminal, es muy común solicitar al usuario la introducción de información a través del teclado. En este post de 🐍 Desayunando con Python vamos a ver cómo realizar la entrada de datos por consola, tanto en Python 3.x como en Python 2.x.

Entrada de datos por consola en Python 3: input()

Para pedir al usuario que introduzca algún dato a través del teclado, usaremos el método input().

Este método, recibe como parámetro un str con el mensaje a mostrar al usuario:

>>> edad = input('¿Qué edad tienes?')
¿Qué edad tienes?
>?

En este momento, la consola queda a la espera de la entrada de datos por parte del usuario.

Al introducir cualquier texto, será asignado a la variable edad:

>>> edad = input('¿Qué edad tienes?')
¿Qué edad tienes?>? 28
>>> edad
'28'

❗️Ten en cuenta que la entrada es convertida SIEMPRE a un objeto de tipo str UTF-8. Por tanto, si lo que necesitamos es cualquier otro tipo, por ejemplo, un int, habrá que hacer la conversión correspondiente:

>>> edad = int (edad)
>>> edad
28

Como ves, ahora edad es un int (ya no se muestra con las comillas simples).

Cómo solicitar datos por consola en Python 2: input() y raw_input()

Sin embargo, en Python 2 las cosas eran un poco diferentes.

El método raw_input() es el equivalente al método input() de Python 3: Lee una línea de la entrada estándar y la devuelve como un objeto str, esta vez en ASCII.

Por el contrario, el método input() espera una expresión Python válida. ¿Esto que quiere decir? Pues que le puedes pasar un número pero también una expresión del tipo 2 + 3 * 5. input() se encarga de evaluar la entrada y procesarla correctamente. A continuación te muestro un ejemplo:

>>> edad = input('¿Qué edad tienes?')
¿Qué edad tienes?>? 28
>>> edad
28

>>> suma = input('¿Cuánto es 2 + 3?')
¿Cuánto es 2 + 3?>? 2 + 3
>>> suma
5

Conclusión

Como ves, solicitar al usuario datos por consola en Python es muy simple. Ten en cuenta las diferencias entre Python 2.x y Python 3.x, especialmente si realizas una migración de versión. En este último caso, si necesitas que los datos no sean de tipo str asegúrate de llevar a cabo las conversiones y comprobaciones necesarias.

 

 

¿Quieres ser expert@ en Python? Recibe trucos Python y las últimas novedades del blog

¡Eyyy! Esto también te puede interesar 👇

* Te informo de que los datos de carácter personal que proporciones al comentar serán tratados por Juan José Lozano Gómez como responsable de esta web. La Finalidad es moderar los comentarios. La Legitimación es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en Disqus (disqus.com), mi sistema de comentarios, que está acogido al acuerdo de seguridad EU-US Privacy. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a juanjo@j2logo.com. Encontrarás más información en la POLÍTICA DE PRIVACIDAD.

Sobre j2logo

j2logo profile

Quiero ayudarte a que seas mejor programador/a, pero no uno cualquiera, sino uno de los top.

¿Quieres ser expert@ en Python? 🐍

❤️ He ayudado a miles de programadores/as como tú a ser mejores Pythonistas

📩 Recibe de vez en cuando trucos y scripts Python y las últimas novedades del blog

* Al enviar el formulario confirmas que aceptas la POLITICA DE PRIVACIDAD

¿Quieres ser expert@ en PYTHON?

j2logo-pythonistas

❤️ He ayudado a miles de programadores/as como tú

📩 Recibe trucos, scripts y las novedades del blog

¿Quieres dominar Python?

Python, Guía para ser un Pythonista

El curso con el que aprender el lenguaje desde cero. Con mi soporte y ayuda.

OFERTA BLACK FRIDAY

35% de descuento