Ir al contenido principal

Entrada y salida básica: función print() e input()

Introducción

La capacidad de comunicarse con el usuario es esencial para cualquier programa. En Python, esta comunicación se realiza principalmente a través de dos funciones fundamentales: print() para mostrar información al usuario (salida) e input() para recibir datos del usuario (entrada). Estas funciones constituyen la base de la interacción entre el programa y la persona que lo utiliza, permitiendo crear aplicaciones dinámicas que respondan a las necesidades del usuario. En este artículo, aprenderemos a utilizar estas herramientas básicas pero poderosas para la comunicación con el usuario.

Función print()

La función print() es la forma más sencilla de mostrar información en Python. Su función principal es enviar datos a la salida estándar, que generalmente es la pantalla del ordenador.

Uso básico de print()

La sintaxis básica de la función print() es la siguiente:

print(valor1, valor2, ..., valorN)

Donde cada "valor" puede ser cualquier tipo de dato en Python:

# Imprimiendo diferentes tipos de datos
print("Hola, mundo!")  # Una cadena de texto
print(42)  # Un número entero
print(3.14)  # Un número decimal
print(True)  # Un valor booleano

Al ejecutar este código, verás:

Hola, mundo!
42
3.14
True

Imprimiendo múltiples valores

Una ventaja de print() es que puedes imprimir varios valores en una sola línea, separándolos por comas:

nombre = "Ana"
edad = 25
print("Me llamo", nombre, "y tengo", edad, "años.")

La salida será:

Me llamo Ana y tengo 25 años.

Por defecto, print() inserta un espacio entre cada valor.

Parámetros de la función print()

La función print() admite varios parámetros que modifican su comportamiento:

Parámetro end

Por defecto, print() añade un salto de línea al final de su salida. Puedes cambiar este comportamiento con el parámetro end:

print("Hola", end=" ")
print("mundo")

Resultado:

Hola mundo

Parámetro sep

El parámetro sep permite cambiar el separador entre los valores (por defecto es un espacio):

print("Manzana", "Pera", "Naranja", sep=", ")

Resultado:

Manzana, Pera, Naranja

Parámetro file

Aunque no lo usaremos frecuentemente en este tutorial, print() puede enviar su salida a un archivo en lugar de la pantalla:

with open("salida.txt", "w") as archivo:
    print("Este texto se guardará en un archivo", file=archivo)

Función input()

La función input() permite al programa recibir datos del usuario a través del teclado.

Uso básico de input()

La sintaxis básica es:

variable = input(mensaje)

El "mensaje" es opcional y se muestra al usuario antes de permitirle introducir datos:

nombre = input("¿Cómo te llamas? ")
print("Hola,", nombre)

Cuando se ejecuta, aparecerá:

¿Cómo te llamas? 

Y después de que el usuario escriba su nombre y pulse Enter, el programa continuará:

¿Cómo te llamas? Carlos
Hola, Carlos

Conversión de tipos con input()

Es importante recordar que input() siempre devuelve una cadena de texto (string), incluso si el usuario introduce números. Si necesitas trabajar con otros tipos de datos, debes convertir la entrada:

# Convirtiendo la entrada a un número entero
edad = int(input("¿Cuántos años tienes? "))
print("El año que viene tendrás", edad + 1, "años.")

# Convirtiendo la entrada a un número decimal
altura = float(input("¿Cuál es tu altura en metros? "))
print("Tu altura en centímetros es:", altura * 100)

Manejo de errores con input()

Es importante tener en cuenta que si el usuario introduce un valor que no puede convertirse al tipo esperado, el programa generará un error. Más adelante en el tutorial aprenderemos a manejar estos errores adecuadamente.

Combinando print() e input()

La verdadera potencia de estas funciones se aprecia cuando las utilizamos juntas para crear programas interactivos:

# Programa simple para calcular el área de un rectángulo
print("Calculadora de área de rectángulo")
print("-" * 30)  # Imprime una línea de guiones

ancho = float(input("Introduce el ancho del rectángulo en metros: "))
alto = float(input("Introduce el alto del rectángulo en metros: "))

area = ancho * alto
print("El área del rectángulo es:", area, "metros cuadrados.")

Este programa solicitará al usuario el ancho y alto de un rectángulo, y luego calculará y mostrará su área.

Ejemplo práctico: Saludo personalizado

Veamos un ejemplo completo que utiliza lo que hemos aprendido:

# Programa de saludo personalizado
print("¡Bienvenido al programa de saludo personalizado!")

nombre = input("Por favor, introduce tu nombre: ")
ciudad = input("¿De qué ciudad eres? ")
aficion = input("¿Cuál es tu afición favorita? ")

print("\nEncantado de conocerte,", nombre)
print("Debe ser interesante vivir en", ciudad)
print("Practicar", aficion, "suena muy divertido.")
print("¡Espero que disfrutes aprendiendo Python!")

La salida de este programa dependerá de lo que introduzca el usuario, pero podría ser algo así:

¡Bienvenido al programa de saludo personalizado!
Por favor, introduce tu nombre: Laura
¿De qué ciudad eres? Valencia
¿Cuál es tu afición favorita? pintura

Encantado de conocerte, Laura
Debe ser interesante vivir en Valencia
Practicar pintura suena muy divertido.
¡Espero que disfrutes aprendiendo Python!

Resumen

Las funciones print() e input() son herramientas fundamentales para la interacción entre un programa Python y sus usuarios. Con print(), podemos mostrar información de diferentes maneras, controlando el formato y la apariencia de la salida. Por otro lado, input() nos permite recibir datos del usuario, aunque debemos recordar que siempre devuelve cadenas de texto que quizás necesitemos convertir a otros tipos de datos. Dominar estas funciones es el primer paso para crear programas interactivos y útiles. En los próximos artículos, aprenderemos a tomar decisiones en nuestros programas basándonos en las entradas del usuario, lo que nos permitirá crear aplicaciones más sofisticadas.