Diálogos con la Máquina

print(), input() e if: Tus primeras conversaciones con Python

Taller diseñado con el corazón de un docente y la mente de un programador | Aprende a comunicarte con las máquinas usando las tres herramientas más esenciales

Objetivo de Aprendizaje

Dominar las funciones fundamentales de comunicación en Python mediante el uso efectivo de print() para mostrar información, input() para recibir datos del usuario y estructuras condicionales if/elif/else para tomar decisiones, desarrollando la capacidad para crear programas interactivos que resuelvan problemas prácticos, fomentando el pensamiento lógico, la capacidad de análisis y la creatividad en el diseño de soluciones algorítmicas, con el fin de establecer bases sólidas para el desarrollo de software significativo y relevante para el contexto estudiantil.

La Magia de la Comunicación Humano-Máquina

Imagina que estás enseñando a un robot a hacer un sandwich. Necesitarías decirle qué hacer (print), preguntarle sus preferencias (input), y decidir qué ingredientes usar según sus respuestas (if). Así es exactamente como funcionan estos tres elementos esenciales en Python.

La programación es el arte de la conversación con las máquinas. print() es tu voz, input() es tu oído, y if es tu capacidad de tomar decisiones. Juntos, te permiten crear diálogos inteligentes y útiles.

print(): Tu Voz en el Mundo Digital

print() es la función que usas para que Python "hable" o muestre información. Es como el altavoz de tu programa, permitiéndote comunicar resultados, mensajes o cualquier información al usuario.

print_basico.py
# Ejemplos básicos de print()
print("¡Hola, mundo!") # Texto simple
print("Mi nombre es Ana")
print("Tengo", 17, "años") # Múltiples elementos separados por comas
print("La suma de 5 + 3 es:", 5 + 3) # Incluye operaciones

# print() con formato
nombre = "Carlos"
edad = 16
print(f"Hola {nombre}, tienes {edad} años") # f-string (Python 3.6+)

Experimento:

¿Qué pasa si escribes print("Hola", "Mundo", sep="-")? El parámetro sep define cómo separar los elementos. Pruébalo con diferentes separadores: ",", " | ", "\n" (salto de línea).

input(): Escuchando al Usuario

input() es la función que permite a tu programa "escuchar" al usuario. Pausa la ejecución, espera a que el usuario escriba algo y presione Enter, luego devuelve ese texto como resultado.

input_basico.py
# Ejemplo básico de input()
nombre = input("¿Cómo te llamas? ")
print(f"¡Mucho gusto, {nombre}!")

# input() siempre devuelve texto (str)
# Para números, debemos convertir
edad_texto = input("¿Cuántos años tienes? ")
edad = int(edad_texto) # Convertir a número entero
print(f"El año que viene tendrás {edad + 1} años")

# Conversión directa (más común)
altura = float(input("¿Cuál es tu estatura en metros? "))

Recuerda: input() siempre devuelve texto (string). Si necesitas un número, debes convertirlo con int() o float(). Un error común es olvidar esta conversión y luego intentar hacer matemáticas con texto.

if: El Punto de Decisión

La estructura if permite a tu programa tomar decisiones basadas en condiciones. Es como una encrucijada donde el programa elige qué camino seguir según lo que haya sucedido antes.

Diagrama de flujo de una decisión if

¿Es mayor de edad? if edad >= 18:
↓ Si es VERDADERO
print("Puedes votar")
↓ Si es FALSO
print("No puedes votar aún")
Descripción de la imagen
if_basico.py
# Estructura básica de if
edad = int(input("Ingresa tu edad: "))

if edad >= 18:
    print("Eres mayor de edad")
    print("Puedes votar en las elecciones")
else:
    print("Eres menor de edad")
    print("Aún no puedes votar")

# Nota: La indentación (4 espacios) define qué código está dentro del if/else

Simulador: Crea Tu Primer Diálogo

Prueba cómo funcionan print, input e if juntos en este simulador interactivo. Escribe valores de entrada y observa cómo responde el programa.

# Simulador de diálogo con Python
print("=== BIENVENIDO AL SIMULADOR ===")
nombre = input("¿Cuál es tu nombre? ")
edad = int(input("¿Cuál es tu edad? "))

print(f"\nHola {nombre}, gracias por usar el simulador.")

if edad >= 18:
    print("Eres mayor de edad.")
    if edad >= 65:
         print("¡Eres parte de la tercera edad!")
    else:
        print("Eres un adulto joven.")
else:
    print("Eres menor de edad.")
    anios_para_votar = 18 - edad
    print(f"Te faltan {anios_para_votar} años para poder votar.")

print("\n=== FIN DEL PROGRAMA ===")
El resultado aparecerá aquí después de ejecutar el programa.

Aplicaciones Prácticas: De la Teoría a la Realidad

Calculadora de IMC (Índice de Masa Corporal)

Vamos a crear una aplicación útil que combine print, input e if para calcular el IMC y dar recomendaciones de salud.

calculadora_imc.py
# Calculadora de IMC con recomendaciones
print("=== CALCULADORA DE IMC ===")

# Solicitar datos al usuario
peso = float(input("Ingresa tu peso en kg: "))
altura = float(input("Ingresa tu altura en metros: "))

# Calcular IMC
imc = peso / (altura ** 2)

print(f"\nTu IMC es: {imc:.2f}") # :.2f muestra 2 decimales

# Determinar categoría según OMS
if imc < 18.5:
    categoria = "Bajo peso"
    recomendacion = "Consulta a un nutricionista para ganar peso saludablemente."
elif imc < 25:
    categoria = "Peso normal"
    recomendacion = "¡Excelente! Mantén tus hábitos saludables."
elif imc < 30:
    categoria = "Sobrepeso"
    recomendacion = "Considera aumentar tu actividad física y mejorar tu dieta."
else:
    categoria = "Obesidad"
    recomendacion = "Consulta a un profesional de la salud para un plan personalizado."

print(f"Categoría: {categoria}")
print(f"Recomendación: {recomendacion}")

print("\n=== RECUERDA ===")
print("El IMC es solo una referencia. Consulta siempre con un profesional de la salud.")

Actividad: Mejora el programa

Modifica el programa para que también:

  1. Pida el nombre del usuario y lo use en los mensajes
  2. Muestre diferentes mensajes según el género (si es hombre o mujer)
  3. Calcule cuántos kg necesita ganar o perder para llegar a un IMC normal

Juego: Adivina el Número

Un juego simple pero divertido que muestra el poder de estas tres herramientas básicas.

adivina_numero.py
print("=== ADIVINA EL NÚMERO ===")
print("Estoy pensando en un número entre 1 y 10")

# Número secreto (podría ser aleatorio, pero por simplicidad usamos 7)
numero_secreto = 7

# Pedir intento al usuario
intento = int(input("¿Cuál crees que es? "))

# Verificar el intento
if intento == numero_secreto:
    print("¡Correcto! ¡Eres un genio!")
elif intento < numero_secreto:
    print("Demasiado bajo. El número era", numero_secreto)
else:
    print("Demasiado alto. El número era", numero_secreto)

print("¡Gracias por jugar!")

Este juego simple tiene toda la esencia de la programación: entrada (input), procesamiento (comparación con if/elif/else) y salida (print). Es el ciclo fundamental de cualquier programa interactivo.

Desafío Interactivo: Pon a Prueba tu Comprensión

Responde estas preguntas para verificar que has comprendido los conceptos clave de print, input e if.

Pregunta 1 de 5
¿Qué hace la función print() en Python?
Puntaje: 0 / 5

Reto Final: Sistema de Login Inteligente

Desafío: Crea un Sistema de Acceso Personalizado

Tu misión es desarrollar un programa que simule un sistema de login con diferentes niveles de acceso según el usuario. El programa debe:

  1. Solicitar al usuario su nombre de usuario y contraseña (puedes definir algunos usuarios y contraseñas preestablecidos).
  2. Verificar si las credenciales son correctas usando estructuras if/elif/else.
  3. Mostrar un mensaje personalizado según el tipo de usuario:
    • Administrador: Acceso completo a todas las funciones
    • Estudiante: Acceso a material de estudio y perfil personal
    • Invitado: Acceso limitado solo a información pública
  4. Si las credenciales son incorrectas, dar hasta 3 intentos antes de bloquear el acceso temporalmente.
  5. Incluir una opción para recuperar contraseña (pregunta de seguridad).
pista_login.py
# Pista para empezar
# Definir usuarios y contraseñas
usuario_correcto = "admin"
clave_correcta = "1234"

# Solicitar credenciales
usuario = input("Usuario: ")
clave = input("Contraseña: ")

# Verificar
if usuario == usuario_correcto and clave == clave_correcta:
    print("Acceso concedido")
else:
    print("Credenciales incorrectas")

Reflexión ética: ¿Cómo almacenarías las contraseñas de forma segura en un programa real? En sistemas reales, las contraseñas nunca se guardan en texto plano. La seguridad digital es una responsabilidad ética del programador.

Características avanzadas (opcional):

  • Agrega un sistema de registro para nuevos usuarios
  • Implementa un menú de opciones después del login
  • Crea un sistema de logs que registre los intentos de acceso
  • Añade validación de fortaleza de contraseña al registrar

Entrega: Presenta tu código funcionando y explica cómo implementaste cada requisito. También presenta 3 casos de prueba con diferentes entradas y sus resultados esperados.