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("¡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.
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
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.
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 ===")
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.
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:
- Pida el nombre del usuario y lo use en los mensajes
- Muestre diferentes mensajes según el género (si es hombre o mujer)
- 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.
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.
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:
- Solicitar al usuario su nombre de usuario y contraseña (puedes definir algunos usuarios y contraseñas preestablecidos).
- Verificar si las credenciales son correctas usando estructuras if/elif/else.
- 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
- Si las credenciales son incorrectas, dar hasta 3 intentos antes de bloquear el acceso temporalmente.
- Incluir una opción para recuperar contraseña (pregunta de seguridad).
# 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.