Ejercicios: Variables y Tipos de Datos
¡Es hora de poner en práctica lo que has aprendido! Los ejercicios son la mejor manera de consolidar tu conocimiento y desarrollar tu intuición para la programación.
💭 Nota del autor: Cuando enseño programación, siempre digo que programar es como aprender a tocar un instrumento musical: puedes leer todos los libros que quieras, pero solo mejorarás si practicas regularmente. Estos ejercicios están diseñados para reforzar los conceptos que acabamos de ver y ayudarte a desarrollar tu “intuición de programador”.
🏋️ Ejercicio 1: Creando tu almacén personal
Objetivo: Practicar la creación de variables de diferentes tipos y mostrar su información.
Instrucciones:
-
Crea variables para almacenar tu información personal:
- Nombre (string)
- Edad (int)
- Altura en metros (float)
- ¿Te gusta programar? (bool)
- Al menos 3 variables más de tu elección
-
Muestra toda la información usando f-strings
-
Realiza al menos 3 cálculos con tus variables numéricas
-
Muestra el tipo de cada variable usando
type()
Plantilla de código:
# ================================
# MI ALMACÉN PERSONAL
# ================================
# Información básica (completa con tus datos)
nombre = "Tu nombre"
edad = 0 # Tu edad
altura = 0.0 # Tu altura en metros
te_gusta_programar = True # Cambia según tu preferencia
# Añade al menos 3 variables más
# ...
# ...
# ...
# Muestra la información usando f-strings
print("=== MI INFORMACIÓN PERSONAL ===")
print(f"Nombre: {nombre}")
# Completa con el resto de variables...
# Realiza al menos 3 cálculos
print("\n=== CÁLCULOS ===")
# Ejemplo: edad en meses
edad_en_meses = edad * 12
print(f"Mi edad en meses es: {edad_en_meses}")
# Añade al menos 2 cálculos más...
# Muestra el tipo de cada variable
print("\n=== TIPOS DE VARIABLES ===")
print(f"Variable 'nombre' es de tipo: {type(nombre)}")
# Completa con el resto de variables...
Resultado esperado:
# Código para crear un almacén personal de información
nombre = "Ana García"
edad = 25
altura = 1.65
le_gusta_programar = True
# Realizar cálculos con las variables
edad_en_meses = edad * 12
altura_en_cm = altura * 100
# Mostrar información personal
print("# MI INFORMACIÓN PERSONAL")
print(f"Nombre: {nombre}")
print(f"Edad: {edad} años")
print(f"Altura: {altura} metros")
print(f"¿Me gusta programar?: {'Sí' if le_gusta_programar else 'No'}")
print("...")
# Mostrar cálculos
print("\n# CÁLCULOS")
print(f"Mi edad en meses es: {edad_en_meses}")
print(f"Mi altura en centímetros es: {altura_en_cm}")
print("...")
# Mostrar tipos de variables
print("\n# TIPOS DE VARIABLES")
print(f'Variable "nombre" es de tipo: {type(nombre)}')
print(f'Variable "edad" es de tipo: {type(edad)}')
print("...")
🏋️ Ejercicio 2: Calculadora de IMC
Objetivo: Crear una calculadora de Índice de Masa Corporal (IMC) usando variables y operaciones matemáticas.
Instrucciones:
-
Crea variables para almacenar:
- Nombre de la persona
- Peso en kilogramos (float)
- Altura en metros (float)
-
Calcula el IMC usando la fórmula:
IMC = peso / (altura * altura)
-
Determina la categoría de peso según el IMC:
- Menos de 18.5: Bajo peso
- Entre 18.5 y 24.9: Peso normal
- Entre 25.0 y 29.9: Sobrepeso
- 30.0 o más: Obesidad
-
Muestra un informe completo con toda la información
Plantilla de código:
# ================================
# CALCULADORA DE IMC
# ================================
# Datos de la persona (completa con datos reales o inventados)
nombre = "Ana García"
peso = 65.5 # en kilogramos
altura = 1.65 # en metros
# Cálculo del IMC
# Nota: ** es el operador de potencia (se verá en detalle en el Capítulo 5)
# altura ** 2 significa "altura elevado al cuadrado"
imc = peso / (altura ** 2)
# Nota: La determinación de categorías se aprenderá en el Capítulo 6 (Estructuras de Control)
# Por ahora, solo calcularemos el IMC
categoria = "Consulta con un profesional de salud para interpretación"
# Mostrar informe
print("=== INFORME DE IMC ===")
print(f"Nombre: {nombre}")
print(f"Peso: {peso} kg")
print(f"Altura: {altura} m")
print(f"IMC calculado: {imc:.2f}")
print(f"Categoría: {categoria}")
# Añade un mensaje personalizado según la categoría
# ...
Resultado esperado:
## INFORME DE IMC
Nombre: Ana García
Peso: 65.5 kg
Altura: 1.65 m
IMC calculado: 24.06
Categoría: Peso normal
Tu peso está dentro del rango saludable. Sigue así!
🏋️ Ejercicio 3: Conversor de unidades
Objetivo: Practicar la creación de variables, operaciones matemáticas y formateo de strings.
Instrucciones:
-
Crea un programa que convierta una distancia en kilómetros a:
- Metros
- Centímetros
- Millas (1 km = 0.621371 millas)
- Pies (1 km = 3280.84 pies)
-
Muestra los resultados formateados con 2 decimales
-
Incluye un encabezado y una presentación clara de los resultados
Plantilla de código:
# ================================
# CONVERSOR DE UNIDADES
# ================================
# Distancia en kilómetros
distancia_km = 10.0 # Cambia este valor
# Factores de conversión
km_a_metros = 1000
km_a_cm = 100000
km_a_millas = 0.621371
km_a_pies = 3280.84
# Realizar conversiones
# ...
# ...
# ...
# Mostrar resultados
print("## CONVERSOR DE DISTANCIAS")
print(f"Distancia original: {distancia_km} kilómetros")
print("\nEquivalencias:")
# Completa con los resultados formateados...
Resultado esperado:
## CONVERSOR DE DISTANCIAS
Distancia original: 10.0 kilómetros
Equivalencias:
- En metros: 10,000.00 m
- En centímetros: 1,000,000.00 cm
- En millas: 6.21 mi
- En pies: 32,808.40 ft
🏋️ Ejercicio 4: Intercambio de variables
Objetivo: Practicar el intercambio de valores entre variables.
Instrucciones:
- Crea tres variables:
a
,b
yc
con valores diferentes - Muestra los valores iniciales
- Intercambia los valores de manera que:
a
reciba el valor deb
b
reciba el valor dec
c
reciba el valor dea
(el valor original)
- Muestra los valores finales
Plantilla de código:
# ================================
# INTERCAMBIO DE VARIABLES
# ================================
# Valores iniciales
a = 5
b = 10
c = 15
# Mostrar valores iniciales
print("=== VALORES INICIALES ===")
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
# Realizar el intercambio
# ...
# ...
# ...
# Mostrar valores finales
print("\n=== VALORES FINALES ===")
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
Resultado esperado:
## VALORES INICIALES
a = 5
b = 10
c = 15
## VALORES FINALES
a = 10
b = 15
c = 5
🏋️ Ejercicio 5: Calculadora de descuentos
Objetivo: Practicar operaciones con variables de diferentes tipos y formateo de salida.
Instrucciones:
-
Crea variables para:
- Nombre del producto
- Precio original
- Porcentaje de descuento
- Si el producto está en oferta (booleano)
-
Calcula:
- El monto del descuento
- El precio final después del descuento
- El IVA (16% sobre el precio con descuento)
- El precio final con IVA
-
Muestra un ticket de compra formateado
Plantilla de código:
# ================================
# CALCULADORA DE DESCUENTOS
# ================================
# Información del producto
nombre_producto = "Laptop Gaming Pro"
precio_original = 25000.0
porcentaje_descuento = 15.0 # 15%
en_oferta = True
# Cálculos
# ...
# ...
# ...
# Mostrar ticket
print("## TICKET DE COMPRA")
print(f"Producto: {nombre_producto}")
print(f"Precio original: ${precio_original:,.2f}")
# Completa el ticket con el resto de la información...
Resultado esperado:
## TICKET DE COMPRA
Producto: Laptop Gaming Pro
Precio original: $25,000.00
Descuento (15.0%): $3,750.00
Precio con descuento: $21,250.00
IVA (16.0%): $3,400.00
PRECIO FINAL: $24,650.00
Estado: EN OFERTA!
🏆 Desafío avanzado: Sistema de calificaciones
Objetivo: Integrar todos los conceptos aprendidos en un sistema más complejo.
Instrucciones:
-
Crea variables para almacenar:
- Nombre del estudiante
- Calificaciones de 5 materias diferentes (números del 0 al 100)
- Si el estudiante tiene beca (booleano)
-
Calcula:
- El promedio de calificaciones
- La calificación más alta y más baja
- Si el estudiante aprobó (promedio >= 70)
- Cuántos puntos le faltaron para el siguiente nivel:
- < 70: Puntos para aprobar
- 70-89: Puntos para excelencia
- 90-100: Ya tiene excelencia
-
Muestra un reporte completo y bien formateado
Plantilla de código:
# ================================
# SISTEMA DE CALIFICACIONES
# ================================
# Información del estudiante
nombre_estudiante = "Carlos Mendoza"
calificacion_matematicas = 85
calificacion_espanol = 92
calificacion_historia = 78
calificacion_ciencias = 90
calificacion_ingles = 88
tiene_beca = True
# Cálculos
# ...
# ...
# ...
# Mostrar reporte
print("=== REPORTE DE CALIFICACIONES ===")
print(f"Estudiante: {nombre_estudiante}")
print(f"Estado de beca: {'Activa' if tiene_beca else 'No tiene'}")
print("\n--- Calificaciones ---")
# Completa con las calificaciones y cálculos...
Resultado esperado:
## REPORTE DE CALIFICACIONES
Estudiante: Carlos Mendoza
Estado de beca: Activa
--- Calificaciones ---
Matemáticas: 85
Español: 92
Historia: 78
Ciencias: 90
Inglés: 88
--- Estadísticas ---
Promedio: 86.60
Calificación más alta: 92 (Español)
Calificación más baja: 78 (Historia)
Estado: APROBADO
Puntos para excelencia: 3.40
Felicidades Carlos! Tu desempeño es muy bueno.
💡 Consejos para resolver los ejercicios
- Lee cuidadosamente las instrucciones antes de empezar
- Planifica tu solución antes de escribir código
- Divide el problema en partes más pequeñas
- Prueba tu código con diferentes valores
- Revisa los errores con calma y paciencia
- No te rindas si algo no funciona a la primera
💭 Nota del autor: Cuando me enfrento a un problema de programación, siempre empiezo escribiendo en comentarios los pasos que voy a seguir. Esto me ayuda a organizar mis ideas y a no perderme en el proceso. Te recomiendo hacer lo mismo, especialmente cuando estás empezando.
🎯 Criterios de éxito
Sabrás que has dominado los conceptos de este capítulo cuando:
- ✅ Puedas crear variables de diferentes tipos sin errores
- ✅ Sepas identificar qué tipo de variable es adecuado para cada situación
- ✅ Puedas realizar operaciones entre variables del mismo tipo
- ✅ Entiendas cuándo necesitas convertir entre tipos
- ✅ Puedas formatear la salida de tus programas de manera clara y profesional
¡Buena suerte con los ejercicios! Recuerda que la práctica constante es la clave para dominar la programación. Si te atascas, revisa los ejemplos del capítulo o busca ayuda, pero nunca dejes de intentarlo.
💡 Consejo final: Intenta resolver estos ejercicios sin mirar las soluciones primero. Es normal sentirse frustrado al principio, pero cada error que cometas y corrijas te hará mejor programador. ¡El aprendizaje está en el proceso, no solo en el resultado final!