Acordeón de los Índices
Índice de los temas
Lección: [Número de Lección] - Python User Input, User Input
⌨️ Python User Input
En Python, la función input()
se utiliza para obtener información del usuario a través de la línea de comandos (terminal o consola).
Cuando se llama a la función input()
, el programa se detiene y espera a que el usuario escriba algo y presione la tecla Enter. El texto que el usuario introduce es devuelto por la función como una cadena de texto (string).
Sintaxis de `input()`:
entrada_del_usuario = input("Mensaje para el usuario (opcional): ")
El "Mensaje para el usuario" es una cadena opcional que se muestra al usuario antes de que se detenga el programa para esperar su entrada. Es una buena práctica incluir un mensaje claro para indicarle al usuario qué se espera que introduzca.
Ejemplo: Obteniendo el nombre del usuario
nombre = input("Introduce tu nombre: ")
print(f"Hola, {nombre}!")
En este ejemplo, el programa mostrará el mensaje "Introduce tu nombre: " y esperará a que el usuario escriba su nombre y presione Enter. El texto introducido se almacenará en la variable nombre
y luego se utilizará para imprimir un saludo personalizado.
Importante: La entrada siempre es una cadena
Es crucial recordar que la función input()
siempre devuelve la entrada del usuario como una cadena de texto. Si necesitas que la entrada sea de otro tipo (por ejemplo, un número entero o un decimal), debes convertirla explícitamente utilizando funciones como int()
o float()
.
Ejemplo: Obteniendo la edad del usuario (como número entero)
edad_str = input("Introduce tu edad: ")
try:
edad = int(edad_str)
print(f"Tienes {edad} años.")
except ValueError:
print("¡Error! Debes introducir un número entero para la edad.")
En este caso, primero obtenemos la edad como una cadena y luego intentamos convertirla a un entero usando int()
. Si la conversión falla (por ejemplo, si el usuario introduce texto), se manejará la excepción ValueError
.
La función input()
es fundamental para crear programas interactivos que pueden recibir datos del usuario y adaptar su comportamiento en consecuencia.
⌨️ User Input
En el tema anterior, introdujimos la función básica input()
para obtener datos del usuario. Ahora, exploraremos algunas consideraciones y técnicas adicionales relacionadas con la entrada del usuario en Python.
Prompting al usuario:
Es fundamental proporcionar mensajes claros y concisos al usuario para que sepa qué tipo de información se espera. Un buen "prompt" (mensaje) puede prevenir errores y mejorar la experiencia del usuario.
Ejemplo: Prompting específico
nombre = input("Por favor, introduce tu nombre completo: ")
edad_str = input("Introduce tu edad en años (solo números): ")
email = input("Introduce tu dirección de correo electrónico: ")
print(f"Hola, {nombre}! Tienes {edad_str} años y tu correo es {email}.")
Al ser específico en los prompts, reducimos la ambigüedad para el usuario.
Validación de la entrada del usuario:
Dado que la función input()
devuelve una cadena, es crucial validar la entrada del usuario si esperas un tipo de dato específico o un formato particular. Ya vimos un ejemplo de conversión a entero con manejo de errores. Aquí hay más ejemplos de validación:
Ejemplo: Validando si la entrada es un número
while True:
entrada = input("Introduce un número: ")
if entrada.isdigit():
numero = int(entrada)
print(f"Has introducido el número: {numero}")
break
else:
print("¡Entrada inválida! Por favor, introduce solo dígitos.")
Este bucle while
continúa pidiendo entrada al usuario hasta que introduce una cadena que contiene solo dígitos, utilizando el método isdigit()
.
Ejemplo: Validando un formato específico (ej. código postal)
import re
while True:
codigo_postal = input("Introduce tu código postal (5 dígitos): ")
if re.match(r'^\d{5}$', codigo_postal):
print(f"Código postal válido: {codigo_postal}")
break
else:
print("¡Formato inválido! El código postal debe tener 5 dígitos.")
Aquí, utilizamos una expresión regular (con el módulo re
) para verificar si la entrada tiene exactamente 5 dígitos.
Consideraciones de seguridad:
En algunos contextos (especialmente al interactuar con sistemas operativos o bases de datos a través de la entrada del usuario), es importante tener en cuenta posibles riesgos de seguridad como la "inyección de comandos" o la "inyección SQL". Siempre debes sanear o validar cuidadosamente la entrada del usuario para prevenir vulnerabilidades.
La entrada del usuario es una parte esencial de muchos programas interactivos. Dominar cómo obtener, validar y manejar esta entrada de manera segura y efectiva es una habilidad importante en la programación en Python.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias