Ejercicios de Python para principiantes: guía práctica con respuestas
Resuelve ejercicios de Python para principiantes, empezando por variables sencillas y avanzando hacia funciones, estructuras de datos y proyectos guiados.
La mejor forma de aprender Python es ganar soltura con repetición, experimentación y resolución de problemas. Por eso el enfoque de «aprender haciendo» está en el centro de la formación de programadores eficaces.
Escribiendo código, cometiendo errores y corrigiéndolos es como de verdad desarrollas habilidades.
En este artículo trabajaremos una serie estructurada de ejercicios de Python diseñados específicamente para principiantes. Empezamos con variables sencillas y avanzamos poco a poco hacia funciones, estructuras de datos y pequeños proyectos con datos.
Antes de seguir leyendo, aquí tienes un reto: intenta resolver los tres primeros ejercicios ahora mismo, sin mirar las explicaciones. Aunque te atasques, el intento es donde más se aprende.
Si prefieres una experiencia más guiada, los cursos de DataCamp comprueban tu sintaxis y tu lógica paso a paso. Esto evita que pequeños fallos bloqueen tu progreso y es especialmente útil al empezar. Un buen punto de partida es el curso Introduction to Python.
Primeros pasos con los ejercicios de Python
Antes de lanzarte a los ejercicios, necesitas un entorno básico para escribir y ejecutar código Python. Por suerte, empezar es más fácil que nunca.
Preparación
Para ejecutar Python en local, instala un editor de código amigable para principiantes como Visual Studio Code.
VS Code es un buen sitio para empezar a programar: es de código abierto y gratuito. Visita su página de descarga para bajarlo e instálalo cuando termine la descarga.
Si prefieres no instalar nada, puedes usar DataLab, un entorno en el navegador que te permite ejecutar código Python (y SQL) al instante. Es ideal para seguir tutoriales, probar fragmentos y experimentar sin preocuparte por la configuración.
Cómo usar estos ejercicios
Para maximizar tu aprendizaje, cada ejercicio está pensado para que lo intentes antes de leer la solución o la explicación.
La mejor manera de sacarles partido es:
Dedica al menos 15 minutos a intentar una solución por tu cuenta
Escribe el programa completo, aunque te parezca repetitivo
Consulta las respuestas solo después de haberlo intentado
Tienes un solucionario completo de todos los ejercicios en este cuaderno de DataLab enlazado. Así podrás comparar tu enfoque con una solución que funciona y entender alternativas para resolver el mismo problema.
Ejercicios de Python sobre variables, entrada y salida
Empecemos con ejercicios básicos centrados en los bloques fundamentales: guardar valores, leer entradas del usuario e imprimir resultados en pantalla.
El saludo personalizado
Para empezar, veamos un ejercicio sencillo de Python que imprime un mensaje personalizado.
Ejercicio
Escribe un programa que:
Pida al usuario su nombre usando input()
Pida al usuario su edad usando input()
Imprima un saludo usando cadenas formateadas
Calcule el año en que el usuario cumple 100
Antes de escribir código, ayuda pensar en cómo fluye la información por un programa sencillo como este. El usuario proporciona texto sin procesar, Python lo guarda en variables y luego tú transformas esos valores en algo con sentido.
Este ejercicio refleja muchos programas reales, donde la entrada del usuario rara vez es usable tal cual y primero hay que validarla o convertirla.
Código inicial
Aquí tienes un código inicial para guiarte:
# Task: Ask for the user's name
name =input("Enter your name: ")# Task: Ask for the user's age (note: input() returns a string)
age_str =input("Enter your age: ")# Task: Convert age_str to an int# age = ...# Task: Calculate the year the user turns 100# Tip: you'll need the current year# current_year = ...# year_turn_100 = ...# Task: Print a personalized message using an f-string# print(...)Con la tecnología de
Conceptos clave practicados
input() siempre devuelve una cadena
Convertir cadenas a enteros con int()
Aritmética básica con números
Formato de cadenas con f-strings
Este ejercicio te enseña que a menudo hay que transformar la entrada del usuario antes de usarla en cálculos.
El conversor de temperatura
Apliquemos tus habilidades de Python a unas conversiones de unidades básicas.
Ejercicio
Escribe un programa que:
Pida al usuario una temperatura en grados Celsius
La convierta a Fahrenheit con la fórmula: F = (C × 9/5) + 32
Imprima la temperatura convertida
Código inicial
Aquí tienes un código inicial para guiarte:
# Task: Ask the user for a Celsius temperature
celsius_str =input("Temperature in Celsius: ")# Task: Convert the input to a float# celsius = ...# Task: Apply the conversion formula# fahrenheit = ...# Task: Print the result (consider formatting to 1–2 decimal places)# print(...)Con la tecnología de
Conceptos clave practicados
Números de coma flotante
Expresiones aritméticas
Conversión de tipo con float()
Este ejercicio refuerza que no todas las entradas numéricas son enteras y que Python maneja decimales de forma natural.
El rompecabezas del intercambio
Este ejercicio parece trivial, pero es común que al principio se piense en las variables como cajas que hay que vaciar y rellenar paso a paso. Veamos cómo podemos intercambiar valores en Python.
Ejercicio
Tienes dos variables: a = 5 y b = 10. Intercambia sus valores sin reasignarlos manualmente valor a valor.
Python permite una forma más expresiva de pensar la asignación, donde los valores se pueden desempaquetar y reasignar en una sola operación.
Código inicial
Aquí tienes un código inicial para guiarte:
a =5
b =10# Task: Swap a and b# Hint: Try a temporary variable first.# Then try the Pythonic approach (tuple unpacking).# Task: Print the swapped values to verify# print("a:", a)# print("b:", b)Con la tecnología de
Conceptos clave practicados
Asignación de variables
Variables temporales vs desempaquetado de tuplas
Esto introduce el desempaquetado de tuplas, una característica que hace Python conciso y expresivo.
Para más información sobre lo básico, echa un vistazo a nuestra chuleta de Python.
Ejercicios de Python sobre flujo de control y lógica
El flujo de control permite que tus programas tomen decisiones y repitan acciones según condiciones.
El comprobador par o impar
Un uso común del operador módulo es comprobar si un número es par o impar. Probémoslo.
Ejercicio
Escribe un programa que:
Pida al usuario un número
Use el operador módulo %
Imprima si el número es par o impar
Código inicial
Aquí tienes un código inicial para guiarte:
# Task: Ask the user for a number
num_str =input("Enter a whole number: ")# Task: Convert to int# num = ...# Task: Use modulo (%) to decide even vs odd# if ...:# print("Even")# else:# print("Odd")Con la tecnología de
Suele ser el primer ejemplo donde se ve cómo las condiciones controlan el comportamiento del programa.
El clásico reto FizzBuzz
Uno de los retos de programación más comunes es FizzBuzz. Veamos en qué consiste.
Ejercicio
Imprime los números del 1 al 100 con estas reglas:
Los múltiplos de 3 imprimen Fizz
Los múltiplos de 5 imprimen Buzz
Los múltiplos de ambos imprimen FizzBuzz
Este ejercicio te entrena a pensar con árboles de decisión y casos límite, una habilidad crucial al escribir programas reales.
Código inicial
Aquí tienes un código inicial para guiarte:
# Task: Loop from 1 to 100for n inrange(1,101):# Task: Check multiples of 3 AND 5 first# if ...:# print("FizzBuzz")# Task: Then multiples of 3# elif ...:# print("Fizz")# Task: Then multiples of 5# elif ...:# print("Buzz")# Task: Otherwise, print the number# else:# print(n)passCon la tecnología de
Conceptos clave practicados
Bucles for
Orden de las condiciones
Operadores lógicos
Este ejercicio es casi un rito de iniciación y se usa para enseñar pensamiento estructurado en el flujo de control. Lee más sobre bucles en nuestro tutorial de bucles en Python.
El juego de adivinar
Este ejercicio introduce programas interactivos que responden dinámicamente a la entrada del usuario.
Ejercicio
Escribe un programa que:
Genere un número aleatorio (importando random)
Use un bucle while para pedir intentos
Imprima "Too high" o "Too low" tras cada intento
Se detenga cuando se acierte el número
Suele ser el primer ejercicio donde se experimenta un programa interactivo en lugar de lineal. A diferencia de scripts que van de arriba a abajo y terminan, este sigue ejecutándose hasta que se cumple una condición.
El salto conceptual clave aquí es entender la terminación de bucles.
Código inicial
Aquí tienes un código inicial para guiarte:
import random
# Task: Pick a random number in a reasonable range# target = random.randint(1, 100)# Task: Use a while loop to keep asking until correct# while ...:# guess_str = input("Your guess (1–100): ")# # guess = ...# # if guess > target:# # print("Too high")# # elif guess < target:# # print("Too low")# # else:# # print("Correct!")# # breakCon la tecnología de
Conceptos clave practicados
Importación de módulos (random)
Bucles while
Condiciones de salida de bucles
Ejercicios de Python sobre listas, bucles e iteración
Las listas te permiten trabajar con colecciones de valores, y los bucles procesarlas de forma eficiente.
La suma de una lista
Este patrón aparece a menudo en flujos de trabajo de procesamiento y análisis de datos.
Ejercicio
Escribe un programa que sume todos los números de una lista sin usar la función integrada sum(). El propio programa debe realizar la lógica de suma explícitamente en un bucle, en lugar de apoyarse en otras utilidades.
Código inicial
Aquí tienes un código inicial para guiarte:
numbers =[3,7,2,9,4]# Task: Create an accumulator variable# total = ...# Task: Loop through numbers and add each value to total# for ...:# ...# Task: Print the final total# print(total)Con la tecnología de
El siguiente ejercicio es parecido al anterior, pero funciona de forma diferente dentro del bucle. Refuerza el pensamiento algorítmico y refleja cómo funcionan internamente funciones integradas.
Ejercicio
Reta al usuario a encontrar el mayor número de una lista sin usar max().
Código inicial
Aquí tienes un código inicial para guiarte:
numbers =[12,5,27,3,19]# Task: Initialize current_max using the first element# current_max = numbers[0]# Task: Loop through the remaining elements and update current_max# for ...:# if ...:# current_max = ...# Task: Print the largest number# print(current_max)Con la tecnología de
Conceptos clave practicados
Lógica de comparación
Seguimiento de estado durante la iteración
Eliminar duplicados
Los datos del mundo real son desordenados y, a menudo, incluyen duplicados. Este ejercicio te prepara para tareas de limpieza de datos.
Ejercicio
Convierte una lista con elementos duplicados en una nueva lista con solo elementos únicos.
A primera vista puede parecer simple, pero introduce la idea de registrar lo que ya has visto. Es un concepto fundamental en el procesamiento de datos, donde identificar y eliminar registros duplicados es habitual.
Código inicial
Aquí tienes un código inicial para guiarte:
data =["apple","banana","apple","orange","banana","kiwi"]# Task: Create a new list for unique items# unique = []# Task: Loop through data and append items you haven't seen yet# for item in data:# if ...:# ...# Task: Print or return the unique list# print(unique)Con la tecnología de
Conceptos clave practicados
Comprobaciones de pertenencia con in
Construcción de nuevas listas
Comprender la unicidad de los datos
Ejercicios de Python sobre diccionarios y manejo de cadenas
Los diccionarios y las cadenas son esenciales para organizar y transformar datos textuales. Veamos cómo manejarlos.
El contador de frecuencias de caracteres
Este ejercicio te enseña a construir tablas de frecuencias, una tarea común en análisis de datos.
Ejercicio
Toma una cadena de entrada y devuelve un diccionario que cuente cuántas veces aparece cada carácter.
Este ejercicio supone un gran paso conceptual: construir una estructura de datos dinámicamente mientras el programa se ejecuta. En lugar de trabajar con una lista o diccionario predefinidos, creas y actualizas entradas en función de los datos que vas encontrando.
Código inicial
Aquí tienes un código inicial para guiarte:
text =input("Enter some text: ")# Task: Create an empty dictionary# counts = {}# Task: Loop over each character and update counts# for ch in text:# # Option A: counts[ch] = counts.get(ch, 0) + 1# # Option B: if ch in counts: ... else: ...# pass# Task: Print the frequency table# print(counts)Con la tecnología de
Conceptos clave practicados
Diccionarios
Método .get()
Inicialización condicional
La agenda telefónica sencilla
Este ejercicio toca la lógica de diccionarios, base para entender más adelante las estructuras de datos tabulares.
Ejercicio
Crea un programa que guarde nombres y números en un diccionario y permita buscar por nombre.
Este ejercicio introduce la idea de usar un programa como herramienta de consulta persistente en vez de un cálculo puntual. Estás modelando una versión simplificada de cómo muchas aplicaciones guardan y recuperan información.
Código inicial
Aquí tienes un código inicial para guiarte:
phonebook ={# "Alice": "9123 4567",# "Ben": "9876 5432",}# Task: (Optional) add entries via input()# name = input("Name to add: ")# number = input("Number to add: ")# phonebook[name] = number# Task: Search loop (one lookup is fine for a start)
query =input("Search name: ")# Task: Print the number if found, otherwise print a friendly message# if ...:# print(...)# else:# print("Not found")Con la tecnología de
Este ejercicio combina procesamiento de texto con comparación lógica a través de palíndromos.
Ejercicio
Un palíndromo es una palabra, frase, número o secuencia de caracteres que se lee igual de izquierda a derecha que de derecha a izquierda. Crea un script que compruebe si una cadena cumple esta condición (ignorando mayúsculas y espacios).
Código inicial
Aquí tienes un código inicial para guiarte:
text =input("Enter a word or phrase: ")# Task: Normalize (lowercase + remove spaces)# normalized = ...# Task: Reverse using slicing# reversed_text = ...# Task: Compare and print a result message# if ...:# print("Palindrome")# else:# print("Not a palindrome")Con la tecnología de
Conceptos clave practicados
Métodos de cadena (lower(), replace())
Rebanado de cadenas ([::-1])
Ejercicios de Python sobre funciones y modularidad
Las funciones te permiten escribir código reutilizable y organizado en lugar de repetir lógica.
La calculadora de factoriales
La calculadora de factoriales te ayudará a entender los valores de retorno, fundamentales para construir programas grandes.
Ejercicio
Define una función que reciba un entero y devuelva su factorial usando un bucle.
La distinción entre imprimir un valor y devolver un valor es clave. Devolver resultados permite componer tu función con otro código, esencial cuando los programas crecen más allá de un solo archivo.
Código inicial
Aquí tienes un código inicial para guiarte:
deffactorial(n:int)->int:"""Return n! (factorial of n) using a loop."""# Task: Decide how to handle n < 0# Task: Initialize result# result = ...# Task: Multiply result by each integer from 1 to n# for ...:# ...# Task: Return the computed factorial# return resultpass# Optional quick test# print(factorial(5)) # expected: 120Con la tecnología de
Ahora veremos una función que valida números primos. Te ayudará a crear funciones reutilizables.
Ejercicio
Escribe una función que devuelva True si un número es primo y False en caso contrario.
Comprobar primos también muestra cómo las funciones encapsulan lógica de forma limpia. Una vez escrita, puedes reutilizarla sin conocer sus detalles internos.
Código inicial
Aquí tienes un código inicial para guiarte:
defis_prime(n:int)->bool:"""Return True if n is prime, otherwise False."""# Task: Handle small cases (n <= 1)# Task: Check divisibility from 2 up to an appropriate limit# for ...:# if ...:# return False# Task: If no divisors found, return True# return Truepass# Optional quick tests# print(is_prime(2)) # expected: True# print(is_prime(15)) # expected: FalseCon la tecnología de
Conceptos clave practicados
Iteración en bucle
Devoluciones tempranas
Eficiencia lógica
Impresor flexible de argumentos
Esto introduce firmas de funciones avanzadas usadas en muchas librerías de Python.
Ejercicio
Crea una función que acepte cualquier número de argumentos usando *args y los imprima uno por uno.
Este ejercicio te expone a una de las características más flexibles de Python: los argumentos de longitud variable. Te hace pasar de entradas fijas a funciones que se adaptan a distintos patrones de uso.
Entender *args facilita leer y usar librerías reales de Python, donde a menudo las funciones aceptan un número flexible de parámetros por comodidad y extensibilidad.
Código inicial
Aquí tienes un código inicial para guiarte:
defprint_args(*args)->None:"""Print each positional argument on its own line."""# Task: Loop over args and print each one# for ...:# print(...)pass# Optional quick test# print_args("hello", 42, True)Con la tecnología de
Conceptos clave practicados
Argumentos de longitud variable
Flexibilidad de funciones
Aplicar tus habilidades de Python con proyectos guiados
Los ejercicios construyen habilidades, pero los proyectos las convierten en confianza.
Investigando películas de Netflix
El proyecto guiado Investigating Netflix Movies plantea una pregunta en apariencia simple: ¿las películas se están acortando con el tiempo? Para responderla, trabajarás con un conjunto de datos real de títulos de Netflix y transformarás filas en bruto en una idea clara y visual.
Lo potente de este proyecto es que hace de puente entre los fundamentos de Python para principiantes y el análisis de datos aplicado. Verás cómo la lógica sencilla escala cuando se combina con las herramientas adecuadas, y todo sin instalar nada en local.
El Dr. Semmelweis y el descubrimiento del lavado de manos
El Dr. Semmelweis and the Importance of Handwashing te pone en la piel de un analista que investiga un problema histórico real. A mediados del siglo XIX, el Dr. Ignaz Semmelweis observó una mortalidad inusualmente alta en una sala respecto a otra, pero no tenía herramientas computacionales para demostrar el porqué.
Con registros históricos, analizarás datos de mortalidad antes y después de introducir el lavado de manos. El proyecto se centra en manipular datos tabulares con pandas, calcular tasas y comparar promedios a lo largo del tiempo.
Explorando el mercado de Airbnb en Nueva York
En el proyecto Exploring Airbnb Market Trends te enfrentas a un escenario muy cercano al trabajo analítico real: datos sucios e inconsistentes que requieren bastante limpieza antes de poder analizarlos en condiciones.
El conjunto de datos contiene anuncios con precios guardados como cadenas, puntuaciones de reseñas ausentes y formatos inconsistentes.
Tu tarea principal es limpiar y estandarizar los datos. El proyecto refuerza la idea de que la preparación de datos no es un trámite previo, sino una habilidad analítica clave. A menudo, la mayor parte del tiempo de los profesionales de datos se dedica a limpiar, y este proyecto es un gran punto de control práctico para esa competencia.
Conclusión
Has empezado con variables simples y entrada de usuario, has pasado por flujo de control, estructuras de datos y funciones, y por último lo has aplicado todo en proyectos guiados. Estos ejercicios deberían haberte dado una buena idea de cómo se usa Python en entornos reales.
Tu siguiente paso natural es un aprendizaje estructurado. La práctica constante, unida a una instrucción guiada, es la vía más rápida para convertir ejercicios en dominio. Te recomiendo inscribirte en nuestros itinerarios Python Programming o Data Scientist para empezar.
Preguntas frecuentes sobre ejercicios de Python
¿Cuál es la mejor plataforma para practicar retos de programación en Python?⌄
Las mejores plataformas combinan práctica con código y feedback estructurado. DataCamp es excelente para práctica guiada porque ofrece programación en el navegador (sin instalación), feedback instantáneo en los ejercicios, itinerarios de habilidades y de carrera, y proyectos guiados con datos reales.
¿Cómo puedo usar eficazmente la repetición espaciada para aprender Python?⌄
La repetición espaciada funciona mejor aplicada a conceptos, no solo a la sintaxis. En lugar de releer apuntes una y otra vez, vuelve a las mismas ideas mediante ejercicios cada vez más difíciles con el paso del tiempo.
¿Cuáles son algunos proyectos avanzados de Python para principiantes?⌄
Buenos ejemplos de proyectos avanzados incluyen crear una app de tareas en la línea de comandos con persistencia en archivos, analizar un CSV con pandas y visualizaciones básicas, o crear un pequeño cliente de API que obtenga y procese datos de un endpoint público.
Soy Austin, bloguero y escritor técnico con años de experiencia como científico de datos y analista de datos en el sector sanitario. Empecé mi andadura tecnológica con una formación en biología, y ahora ayudo a otros a hacer la misma transición a través de mi blog tecnológico. Mi pasión por la tecnología me ha llevado a escribir para decenas de empresas de SaaS, inspirando a otros y compartiendo mis experiencias.
Descubre cómo aprender Python en 2026, sus aplicaciones y la demanda de conocimientos de Python. Comienza hoy mismo tu aventura con Python. con nuestra guía completa.
Esta guía completa te enseña los fundamentos del backend con Python. Aprende conceptos básicos, frameworks y buenas prácticas para empezar a crear aplicaciones web.
Descubre cómo escribir funciones en Python reutilizables y eficientes. Domina los parámetros, las sentencias return y temas avanzados como las funciones lambda. Organiza mejor tu código con main() y otras buenas prácticas.
Aprende sobre las funciones lambda de Python, su finalidad y cuándo utilizarlas. Incluye ejemplos prácticos y mejores prácticas para una implementación eficaz.
Introdúcete en las estructuras de datos de Python: aprende más sobre tipos de datos y estructuras de datos primitivas y no primitivas, como cadenas, listas, pilas, etc.
La mejor forma de aprender Python es ganar soltura con repetición, experimentación y resolución de problemas. Por eso el enfoque de «aprender haciendo» está en el centro de la formación de programadores eficaces.
Escribiendo código, cometiendo errores y corrigiéndolos es como de verdad desarrollas habilidades.
En este artículo trabajaremos una serie estructurada de ejercicios de Python diseñados específicamente para principiantes. Empezamos con variables sencillas y avanzamos poco a poco hacia funciones, estructuras de datos y pequeños proyectos con datos.
Antes de seguir leyendo, aquí tienes un reto: intenta resolver los tres primeros ejercicios ahora mismo, sin mirar las explicaciones. Aunque te atasques, el intento es donde más se aprende.
Si prefieres una experiencia más guiada, los cursos de DataCamp comprueban tu sintaxis y tu lógica paso a paso. Esto evita que pequeños fallos bloqueen tu progreso y es especialmente útil al empezar. Un buen punto de partida es el curso Introduction to Python.
Primeros pasos con los ejercicios de Python
Antes de lanzarte a los ejercicios, necesitas un entorno básico para escribir y ejecutar código Python. Por suerte, empezar es más fácil que nunca.
Preparación
Para ejecutar Python en local, instala un editor de código amigable para principiantes como Visual Studio Code.
Una configuración típica sería así:
Instala Python desde la web oficial
Instala Visual Studio Code
Añade la extensión de Python en VS Code
Crea un nuevo archivo
.pyy empieza a programarVS Code es un buen sitio para empezar a programar: es de código abierto y gratuito. Visita su página de descarga para bajarlo e instálalo cuando termine la descarga.
Si prefieres no instalar nada, puedes usar DataLab, un entorno en el navegador que te permite ejecutar código Python (y SQL) al instante. Es ideal para seguir tutoriales, probar fragmentos y experimentar sin preocuparte por la configuración.
Cómo usar estos ejercicios
Para maximizar tu aprendizaje, cada ejercicio está pensado para que lo intentes antes de leer la solución o la explicación.
La mejor manera de sacarles partido es:
Tienes un solucionario completo de todos los ejercicios en este cuaderno de DataLab enlazado. Así podrás comparar tu enfoque con una solución que funciona y entender alternativas para resolver el mismo problema.
Ejercicios de Python sobre variables, entrada y salida
Empecemos con ejercicios básicos centrados en los bloques fundamentales: guardar valores, leer entradas del usuario e imprimir resultados en pantalla.
El saludo personalizado
Para empezar, veamos un ejercicio sencillo de Python que imprime un mensaje personalizado.
Ejercicio
Escribe un programa que:
Pida al usuario su nombre usando
input()Pida al usuario su edad usando
input()Imprima un saludo usando cadenas formateadas
Calcule el año en que el usuario cumple 100
Antes de escribir código, ayuda pensar en cómo fluye la información por un programa sencillo como este. El usuario proporciona texto sin procesar, Python lo guarda en variables y luego tú transformas esos valores en algo con sentido.
Este ejercicio refleja muchos programas reales, donde la entrada del usuario rara vez es usable tal cual y primero hay que validarla o convertirla.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
input()siempre devuelve una cadenaConvertir cadenas a enteros con
int()Aritmética básica con números
Formato de cadenas con f-strings
Este ejercicio te enseña que a menudo hay que transformar la entrada del usuario antes de usarla en cálculos.
El conversor de temperatura
Apliquemos tus habilidades de Python a unas conversiones de unidades básicas.
Ejercicio
Escribe un programa que:
Pida al usuario una temperatura en grados Celsius
La convierta a Fahrenheit con la fórmula:
F = (C × 9/5) + 32Imprima la temperatura convertida
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Números de coma flotante
Expresiones aritméticas
Conversión de tipo con
float()Este ejercicio refuerza que no todas las entradas numéricas son enteras y que Python maneja decimales de forma natural.
El rompecabezas del intercambio
Este ejercicio parece trivial, pero es común que al principio se piense en las variables como cajas que hay que vaciar y rellenar paso a paso. Veamos cómo podemos intercambiar valores en Python.
Ejercicio
Tienes dos variables:
a = 5yb = 10. Intercambia sus valores sin reasignarlos manualmente valor a valor.Python permite una forma más expresiva de pensar la asignación, donde los valores se pueden desempaquetar y reasignar en una sola operación.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Esto introduce el desempaquetado de tuplas, una característica que hace Python conciso y expresivo.
Para más información sobre lo básico, echa un vistazo a nuestra chuleta de Python.
Ejercicios de Python sobre flujo de control y lógica
El flujo de control permite que tus programas tomen decisiones y repitan acciones según condiciones.
El comprobador par o impar
Un uso común del operador módulo es comprobar si un número es par o impar. Probémoslo.
Ejercicio
Escribe un programa que:
Pida al usuario un número
Use el operador módulo
%Imprima si el número es par o impar
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Operador módulo
Sentencias
if/elseLógica booleana
Suele ser el primer ejemplo donde se ve cómo las condiciones controlan el comportamiento del programa.
El clásico reto FizzBuzz
Uno de los retos de programación más comunes es FizzBuzz. Veamos en qué consiste.
Ejercicio
Imprime los números del 1 al 100 con estas reglas:
Los múltiplos de 3 imprimen
FizzLos múltiplos de 5 imprimen
BuzzLos múltiplos de ambos imprimen
FizzBuzzEste ejercicio te entrena a pensar con árboles de decisión y casos límite, una habilidad crucial al escribir programas reales.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Bucles
forOrden de las condiciones
Operadores lógicos
Este ejercicio es casi un rito de iniciación y se usa para enseñar pensamiento estructurado en el flujo de control. Lee más sobre bucles en nuestro tutorial de bucles en Python.
El juego de adivinar
Este ejercicio introduce programas interactivos que responden dinámicamente a la entrada del usuario.
Ejercicio
Escribe un programa que:
Genere un número aleatorio (importando
random)Use un bucle
whilepara pedir intentosImprima "Too high" o "Too low" tras cada intento
Se detenga cuando se acierte el número
Suele ser el primer ejercicio donde se experimenta un programa interactivo en lugar de lineal. A diferencia de scripts que van de arriba a abajo y terminan, este sigue ejecutándose hasta que se cumple una condición.
El salto conceptual clave aquí es entender la terminación de bucles.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Importación de módulos (
random)Bucles
whileCondiciones de salida de bucles
Ejercicios de Python sobre listas, bucles e iteración
Las listas te permiten trabajar con colecciones de valores, y los bucles procesarlas de forma eficiente.
La suma de una lista
Este patrón aparece a menudo en flujos de trabajo de procesamiento y análisis de datos.
Ejercicio
Escribe un programa que sume todos los números de una lista sin usar la función integrada
sum(). El propio programa debe realizar la lógica de suma explícitamente en un bucle, en lugar de apoyarse en otras utilidades.Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Inicializar una variable acumuladora
Iterar con bucles
forActualizar valores paso a paso
Para más ejemplos sobre listas, consulta nuestra guía sobre las preguntas más comunes sobre listas en Python.
Encontrar el número máximo
El siguiente ejercicio es parecido al anterior, pero funciona de forma diferente dentro del bucle. Refuerza el pensamiento algorítmico y refleja cómo funcionan internamente funciones integradas.
Ejercicio
Reta al usuario a encontrar el mayor número de una lista sin usar
max().Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Eliminar duplicados
Los datos del mundo real son desordenados y, a menudo, incluyen duplicados. Este ejercicio te prepara para tareas de limpieza de datos.
Ejercicio
Convierte una lista con elementos duplicados en una nueva lista con solo elementos únicos.
A primera vista puede parecer simple, pero introduce la idea de registrar lo que ya has visto. Es un concepto fundamental en el procesamiento de datos, donde identificar y eliminar registros duplicados es habitual.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Comprobaciones de pertenencia con
inConstrucción de nuevas listas
Comprender la unicidad de los datos
Ejercicios de Python sobre diccionarios y manejo de cadenas
Los diccionarios y las cadenas son esenciales para organizar y transformar datos textuales. Veamos cómo manejarlos.
El contador de frecuencias de caracteres
Este ejercicio te enseña a construir tablas de frecuencias, una tarea común en análisis de datos.
Ejercicio
Toma una cadena de entrada y devuelve un diccionario que cuente cuántas veces aparece cada carácter.
Este ejercicio supone un gran paso conceptual: construir una estructura de datos dinámicamente mientras el programa se ejecuta. En lugar de trabajar con una lista o diccionario predefinidos, creas y actualizas entradas en función de los datos que vas encontrando.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Diccionarios
Método
.get()Inicialización condicional
La agenda telefónica sencilla
Este ejercicio toca la lógica de diccionarios, base para entender más adelante las estructuras de datos tabulares.
Ejercicio
Crea un programa que guarde nombres y números en un diccionario y permita buscar por nombre.
Este ejercicio introduce la idea de usar un programa como herramienta de consulta persistente en vez de un cálculo puntual. Estás modelando una versión simplificada de cómo muchas aplicaciones guardan y recuperan información.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Si quieres profundizar en diccionarios, te recomiendo nuestra guía completa sobre los métodos de diccionario en Python.
Comprobador de palíndromos
Este ejercicio combina procesamiento de texto con comparación lógica a través de palíndromos.
Ejercicio
Un palíndromo es una palabra, frase, número o secuencia de caracteres que se lee igual de izquierda a derecha que de derecha a izquierda. Crea un script que compruebe si una cadena cumple esta condición (ignorando mayúsculas y espacios).
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Métodos de cadena (
lower(),replace())Rebanado de cadenas (
[::-1])Ejercicios de Python sobre funciones y modularidad
Las funciones te permiten escribir código reutilizable y organizado en lugar de repetir lógica.
La calculadora de factoriales
La calculadora de factoriales te ayudará a entender los valores de retorno, fundamentales para construir programas grandes.
Ejercicio
Define una función que reciba un entero y devuelva su factorial usando un bucle.
La distinción entre imprimir un valor y devolver un valor es clave. Devolver resultados permite componer tu función con otro código, esencial cuando los programas crecen más allá de un solo archivo.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Lee más sobre funciones en nuestro tutorial de funciones en Python.
Validador de números primos
Ahora veremos una función que valida números primos. Te ayudará a crear funciones reutilizables.
Ejercicio
Escribe una función que devuelva
Truesi un número es primo yFalseen caso contrario.Comprobar primos también muestra cómo las funciones encapsulan lógica de forma limpia. Una vez escrita, puedes reutilizarla sin conocer sus detalles internos.
Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Impresor flexible de argumentos
Esto introduce firmas de funciones avanzadas usadas en muchas librerías de Python.
Ejercicio
Crea una función que acepte cualquier número de argumentos usando
*argsy los imprima uno por uno.Este ejercicio te expone a una de las características más flexibles de Python: los argumentos de longitud variable. Te hace pasar de entradas fijas a funciones que se adaptan a distintos patrones de uso.
Entender
*argsfacilita leer y usar librerías reales de Python, donde a menudo las funciones aceptan un número flexible de parámetros por comodidad y extensibilidad.Código inicial
Aquí tienes un código inicial para guiarte:
Conceptos clave practicados
Aplicar tus habilidades de Python con proyectos guiados
Los ejercicios construyen habilidades, pero los proyectos las convierten en confianza.
Investigando películas de Netflix
El proyecto guiado Investigating Netflix Movies plantea una pregunta en apariencia simple: ¿las películas se están acortando con el tiempo? Para responderla, trabajarás con un conjunto de datos real de títulos de Netflix y transformarás filas en bruto en una idea clara y visual.
Lo potente de este proyecto es que hace de puente entre los fundamentos de Python para principiantes y el análisis de datos aplicado. Verás cómo la lógica sencilla escala cuando se combina con las herramientas adecuadas, y todo sin instalar nada en local.
El Dr. Semmelweis y el descubrimiento del lavado de manos
El Dr. Semmelweis and the Importance of Handwashing te pone en la piel de un analista que investiga un problema histórico real. A mediados del siglo XIX, el Dr. Ignaz Semmelweis observó una mortalidad inusualmente alta en una sala respecto a otra, pero no tenía herramientas computacionales para demostrar el porqué.
Con registros históricos, analizarás datos de mortalidad antes y después de introducir el lavado de manos. El proyecto se centra en manipular datos tabulares con
pandas, calcular tasas y comparar promedios a lo largo del tiempo.Explorando el mercado de Airbnb en Nueva York
En el proyecto Exploring Airbnb Market Trends te enfrentas a un escenario muy cercano al trabajo analítico real: datos sucios e inconsistentes que requieren bastante limpieza antes de poder analizarlos en condiciones.
El conjunto de datos contiene anuncios con precios guardados como cadenas, puntuaciones de reseñas ausentes y formatos inconsistentes.
Tu tarea principal es limpiar y estandarizar los datos. El proyecto refuerza la idea de que la preparación de datos no es un trámite previo, sino una habilidad analítica clave. A menudo, la mayor parte del tiempo de los profesionales de datos se dedica a limpiar, y este proyecto es un gran punto de control práctico para esa competencia.
Conclusión
Has empezado con variables simples y entrada de usuario, has pasado por flujo de control, estructuras de datos y funciones, y por último lo has aplicado todo en proyectos guiados. Estos ejercicios deberían haberte dado una buena idea de cómo se usa Python en entornos reales.
Tu siguiente paso natural es un aprendizaje estructurado. La práctica constante, unida a una instrucción guiada, es la vía más rápida para convertir ejercicios en dominio. Te recomiendo inscribirte en nuestros itinerarios Python Programming o Data Scientist para empezar.