Entrada y salida en Python: print(), input() y formato
Esta lección es una traducción del original en inglés.Read in EnglishAvisar de un error de traducción
Todo programa necesita una forma de comunicarse con el mundo exterior. Una aplicación del clima muestra temperaturas. Un juego muestra tu puntuación. Una calculadora imprime resultados. Todos ellos usan la salida.
En Python, print() es tu herramienta principal para mostrar información al usuario. Al principio parece sencilla, pero tiene opciones muy potentes que te permiten controlar exactamente cómo se ve tu salida.
En este tutorial aprenderás técnicas avanzadas de print(), trucos de formato para una salida limpia y cómo input() lee lo que escribe el usuario. Al terminar, podrás crear una salida pulida y de aspecto profesional.
¿Cómo funciona print() con varios valores?
Ya sabes que print("Hello") muestra texto. Pero print() puede manejar varios valores a la vez. Sepáralos con comas y Python los imprime todos con espacios entre ellos.
Piensa en print() como la persona que toma tu pedido en un restaurante y lo repite en voz alta. Le dices varios platos y los anuncia uno por uno, con una pausa entre cada uno.
Alice 25 Paris Name: Alice Age: 25 years
Fíjate en un detalle útil: Python pone un espacio entre cada valor de forma automática. Además, no necesitas convertir los números en cadenas de texto. La función print() se encarga de eso por ti.
¿Qué hace el parámetro sep en print()?
Por defecto, print() pone un espacio entre cada valor. El parámetro sep te permite cambiar ese separador por lo que quieras. Su nombre viene de "separator" (separador).
Imagina que estás ensartando cuentas para hacer un collar. sep es el nudo que haces entre una cuenta y la siguiente. Tú eliges qué va entre los elementos.
A B C A-B-C A | B | C ABC A B C
El parámetro sep es perfecto para construir salidas con formato, como fechas, rutas de archivos o datos CSV, sin tener que concatenar cadenas tú mismo.
2025-3-15 home/user/docs Alice,25,Paris
¿Qué hace el parámetro end en print()?
Cada vez que print() termina, agrega un carácter de salto de línea al final. Por eso cada llamada a print() empieza en una línea nueva. El parámetro end te permite cambiar lo que viene después de la salida.
Piensa en end como el signo de puntuación al final de una frase. Por defecto, Python pulsa "Enter" después de cada print. Puedes cambiarlo por un espacio, una coma o nada en absoluto.
Hello World Hello World Loading...Done!
apple banana cherry date
¿Cómo se combinan sep y end?
Puedes usar sep y end en la misma llamada a print(). Así controlas por completo lo que va entre los valores y lo que va al final de todo.
A -> B -> C [DONE] Step 1 > Step 2 > Step 3 All steps complete!
¿Cómo se crea una salida alineada y con formato?
Los programas reales necesitan una salida fácil de leer. Las tablas, los recibos y los informes necesitan columnas bien alineadas. Python te ofrece varias formas de lograrlo.
El método más sencillo usa los métodos de cadena .ljust(), .rjust() y .center(). Estos rellenan una cadena con espacios hasta llegar al ancho que indiques.
Item Price ------------------------ Coffee $4.50 Sandwich $8.99 Cookie $2.75
Para tener más control, usa f-strings con especificadores de formato. Dentro de las llaves puedes fijar el ancho y la alineación de cada valor.
Name Score ------------------------ Alice 95 Bob 87 Charlie 92
1 2 3 -------------- 1 | 1 2 3 2 | 2 4 6 3 | 3 6 9
¿Cómo funciona la función input() en Python?
La salida es solo la mitad de la historia. La mayoría de los programas también necesitan recibir información del usuario. En Python, la función input() pausa el programa y espera a que el usuario escriba algo.
Piensa en input() como un campo de un formulario en un sitio web. El programa muestra una pregunta, el usuario escribe su respuesta y el programa guarda esa respuesta en una variable.
Pulsa Ejecutar: el programa se detiene en input() y espera. Escribe tu nombre, pulsa Enter y el programa continúa con tu respuesta guardada en name.
La función input() siempre devuelve una cadena de texto, aunque el usuario escriba un número. Es un detalle importante que toma por sorpresa a muchos principiantes. Ejecuta esto y escribe un número:
¿Cómo se convierte la entrada del usuario en números?
Como input() siempre devuelve una cadena, tienes que convertirla cuando esperas un número. Envuelve input() con int() para números enteros o con float() para decimales.
¿Qué patrones de salida son comunes en los programas de Python?
Los programas profesionales usan patrones de salida fáciles de reconocer. Los menús, los encabezados, los recibos y los indicadores de progreso siguen formatos predecibles. Aprender estos patrones hace que tus programas se vean pulidos.
==============================
RESTAURANT MENU
==============================
1. Burger $8.99
2. Pizza $12.50
3. Salad $7.25
=======================================Sales Report========= Product Units Revenue ------------------------------ Widgets 150 1500.00 Gadgets 89 2670.00 Gizmos 234 4680.00 ------------------------------ Total 8850.00
Ejercicios de práctica
¡Hora de practicar! Estos ejercicios se centran en dar formato con print(). Intenta resolver cada uno antes de mirar las pistas.
Imprime las palabras "red", "green" y "blue" separadas por - (espacio, guion, espacio) usando el parámetro sep de print().
Salida esperada:
red - green - blueUsa una sola llamada a print() con el parámetro sep.
Usa un bucle for para imprimir los números del 1 al 5 en la misma línea, separados por espacios. Agrega un print() vacío al final para terminar la línea.
Salida esperada:
1 2 3 4 5Usa el parámetro end dentro del bucle. Ten cuidado de no dejar un espacio sobrante después del 5.
Crea una tabla de multiplicar para los números del 1 al 3. Cada producto debe estar alineado a la derecha y ocupar 4 caracteres de ancho. Imprime una fila de encabezado y una línea separadora.
Salida esperada:
1 2 3
-----------
1 | 1 2 3
2 | 2 4 6
3 | 3 6 9Usa la alineación de las f-strings ({value:>4}) para alinear los números a la derecha en columnas de 4 caracteres.
Crea un recibo con formato con los siguientes artículos y precios. Usa la alineación de las f-strings para alinear a la izquierda los nombres de los artículos (20 caracteres de ancho) y a la derecha los precios (8 caracteres de ancho, 2 decimales). Incluye un encabezado, un separador y el total.
Artículos:
Salida esperada:
============================
TECH STORE
============================
Item Price
----------------------------
Laptop 999.99
Mouse 29.50
Keyboard 74.99
----------------------------
Total 1104.48
============================Resumen: entrada y salida en Python
Aquí tienes una referencia rápida de todo lo que aprendiste:
| Concepto | Sintaxis | Ejemplo |
|---|---|---|
| Imprimir varios valores | print(a, b, c) | print("Hi", name) |
| Separador personalizado | sep="..." | print(1, 2, 3, sep="-") da 1-2-3 |
| Final personalizado | end="..." | print("Hi", end=" ") sigue en la misma línea |
| Alinear a la izquierda | f"{val:<width}" | f"{name:<20}" |
| Alinear a la derecha | f"{val:>width}" | f"{price:>8.2f}" |
| Centrar | f"{val:^width}" | f"{title:^30}" |
| Entrada del usuario | input("prompt") | name = input("Name: ") |
| Convertir la entrada | int(input()) | age = int(input("Age: ")) |
Idea clave: print() hace mucho más que mostrar texto. Con sep, end y el formato de las f-strings puedes crear una salida limpia y profesional, y input() siempre te entrega una cadena que tendrás que convertir.
¿Qué sigue?
Ahora que sabes crear una salida pulida, ya puedes pasar a controlar el flujo de tus programas. En los próximos tutoriales aprenderás sobre las instrucciones if y los bucles, las herramientas que permiten a tus programas tomar decisiones y repetir acciones.