Después de aprender los conceptos básicos de Python y ver cómo traducir algoritmos desde PSeInt, llega el momento de resolver problemas directamente en Python.
En esta guía vas a encontrar 20 ejercicios resueltos de Python para principiantes, ordenados de menor a mayor dificultad. La idea es practicar entrada y salida de datos, condicionales, ciclos, cadenas, listas y funciones sin depender ya del pseudocódigo.
Antes de empezar: recordá que input() devuelve texto, que las listas comienzan en la posición 0 y que la indentación forma parte de la sintaxis de Python.
Índice de ejercicios
- Hola mundo y entrada de datos
- Sumar dos números
- Número par o impar
- Mayor de dos números
- Positivo, negativo o cero
- Promedio de notas
- Tabla de multiplicar
- Suma de 1 hasta N
- Factorial
- Número primo
- Contar vocales
- Invertir una cadena
- Mayor valor de una lista
- Promedio de una lista
- Buscar un valor en una lista
- Contar pares e impares
- Eliminar duplicados
- Ordenar una lista
- Función para calcular un área
- Mini menú interactivo
1. Hola mundo y entrada de datos
Pedimos el nombre del usuario y mostramos un saludo personalizado.
nombre = input("Ingrese su nombre: ") print("Hola", nombre)
2. Sumar dos números
Como input() devuelve texto, convertimos los valores a número antes de sumarlos.
numero1 = float(input("Ingrese el primer numero: ")) numero2 = float(input("Ingrese el segundo numero: ")) resultado = numero1 + numero2 print("Resultado:", resultado)
3. Número par o impar
Utilizamos el operador módulo % para conocer el resto de una división.
numero = int(input("Ingrese un numero entero: ")) if numero % 2 == 0: print("El numero es par") else: print("El numero es impar")
4. Mayor de dos números
a = float(input("Ingrese el primer numero: ")) b = float(input("Ingrese el segundo numero: ")) if a > b: print("El mayor es", a) elif b > a: print("El mayor es", b) else: print("Los dos numeros son iguales")
5. Positivo, negativo o cero
numero = float(input("Ingrese un numero: ")) if numero > 0: print("Es positivo") elif numero < 0: print("Es negativo") else: print("Es cero")
6. Promedio de notas
nota1 = float(input("Ingrese la primera nota: ")) nota2 = float(input("Ingrese la segunda nota: ")) nota3 = float(input("Ingrese la tercera nota: ")) promedio = (nota1 + nota2 + nota3) / 3 print("Promedio:", promedio) if promedio >= 6: print("Aprobado") else: print("Desaprobado")
7. Tabla de multiplicar
Con range(1, 11) recorremos los números del 1 al 10.
numero = int(input("Ingrese un numero: ")) for i in range(1, 11): print(numero, "x", i, "=", numero * i)
8. Suma de 1 hasta N
n = int(input("Ingrese un numero positivo: ")) suma = 0 for i in range(1, n + 1): suma += i print("La suma es:", suma)
9. Factorial
numero = int(input("Ingrese un numero entero no negativo: ")) if numero < 0: print("El factorial no esta definido para numeros negativos") else: factorial = 1 for i in range(1, numero + 1): factorial *= i print("Factorial:", factorial)
10. Número primo
numero = int(input("Ingrese un numero: ")) es_primo = numero >= 2 divisor = 2 while divisor * divisor <= numero and es_primo: if numero % divisor == 0: es_primo = False else: divisor += 1 if es_primo: print("Es primo") else: print("No es primo")
11. Contar vocales en un texto
Recorremos cada carácter de la cadena y comprobamos si pertenece al conjunto de vocales.
texto = input("Ingrese un texto: ") cantidad = 0 for caracter in texto.lower(): if caracter in "aeiou": cantidad += 1 print("Cantidad de vocales:", cantidad)
12. Invertir una cadena
Python permite utilizar slicing para recorrer una cadena en sentido inverso.
texto = input("Ingrese un texto: ") invertido = texto[::-1] print("Texto invertido:", invertido)
13. Mayor valor de una lista
En este ejercicio hacemos el recorrido manualmente para practicar la lógica de búsqueda de máximos.
numeros = [12, 7, 25, 4, 18] mayor = numeros[0] for numero in numeros: if numero > mayor: mayor = numero print("El mayor es:", mayor)
14. Promedio de una lista
notas = [8, 6, 9, 7, 10] suma = 0 for nota in notas: suma += nota promedio = suma / len(notas) print("Promedio:", promedio)
15. Buscar un valor en una lista
numeros = [10, 20, 30, 40, 50] buscado = int(input("Ingrese el numero a buscar: ")) encontrado = False posicion = 0 while posicion < len(numeros) and not encontrado: if numeros[posicion] == buscado: encontrado = True else: posicion += 1 if encontrado: print("Encontrado en la posicion", posicion) else: print("El valor no se encuentra en la lista")
Recordá que en Python la primera posición de una lista es 0.
16. Contar pares e impares
numeros = [4, 7, 10, 13, 18, 21] pares = 0 impares = 0 for numero in numeros: if numero % 2 == 0: pares += 1 else: impares += 1 print("Pares:", pares) print("Impares:", impares)
17. Eliminar duplicados de una lista
Construimos una nueva lista y agregamos solamente los valores que todavía no existen en ella.
numeros = [1, 2, 2, 3, 4, 4, 5] sin_duplicados = [] for numero in numeros: if numero not in sin_duplicados: sin_duplicados.append(numero) print(sin_duplicados)
18. Ordenar una lista
Python incluye herramientas para ordenar listas. En este ejemplo usamos sorted(), que devuelve una nueva lista ordenada.
numeros = [8, 3, 10, 1, 6] ordenados = sorted(numeros) print("Original:", numeros) print("Ordenada:", ordenados)
Más adelante también podemos implementar manualmente algoritmos como burbuja, selección e inserción para entender cómo funciona el ordenamiento internamente.
19. Función para calcular el área de un rectángulo
def calcular_area(base, altura): return base * altura base = float(input("Ingrese la base: ")) altura = float(input("Ingrese la altura: ")) area = calcular_area(base, altura) print("Area:", area)
Separar el cálculo en una función permite reutilizarlo sin repetir código.
20. Mini menú interactivo
Terminamos combinando varias estructuras en un pequeño programa con menú.
opcion = 0 while opcion != 4: print("") print("=== MENU ===") print("1. Saludar") print("2. Sumar dos numeros") print("3. Mostrar numeros del 1 al 5") print("4. Salir") opcion = int(input("Seleccione una opcion: ")) if opcion == 1: nombre = input("Ingrese su nombre: ") print("Hola", nombre) elif opcion == 2: a = float(input("Primer numero: ")) b = float(input("Segundo numero: ")) print("Resultado:", a + b) elif opcion == 3: for i in range(1, 6): print(i) elif opcion == 4: print("Hasta luego") else: print("Opcion invalida")
Qué conceptos practicamos
Estos 20 ejercicios recorren buena parte de los fundamentos necesarios para seguir avanzando con Python:
- variables;
- entrada y salida de datos;
- conversiones con
int()yfloat(); - condicionales;
- ciclos
forywhile; range();- cadenas de texto;
- listas;
- búsquedas;
- acumuladores y contadores;
- funciones;
- menús interactivos.
Cómo aprovechar mejor estos ejercicios
No te limites a copiar y ejecutar el código. Probá modificar cada ejercicio:
- cambiá los valores iniciales;
- agregá validaciones;
- pedí los datos al usuario;
- convertí bloques repetidos en funciones;
- combiná dos ejercicios en un solo programa;
- intentá resolver el problema por tu cuenta antes de mirar la solución.
Si venís de PSeInt, también podés consultar nuestra guía De PSeInt a Python: 10 algoritmos traducidos paso a paso para comparar ambas sintaxis.
Próximo paso
Después de esta colección general vamos a profundizar en temas concretos, empezando por condicionales y ciclos y luego avanzando hacia listas, funciones, búsqueda, ordenamiento y proyectos completos.
Seguí aprendiendo Python
Si necesitás repasar la transición desde pseudocódigo, consultá De PSeInt a Python.
Para profundizar en los fundamentos, continuá con:
Tipos de datos en Python: int, float, str, bool y conversiones →
Ver la ruta completa de Python →
¿Te sirvieron estos ejercicios? ☕
Si este contenido te ayudó a practicar Python, podés apoyar a Club Programador. Cada aporte ayuda a mantener el sitio online y a seguir publicando material gratuito.
🇦🇷 Apoyar desde Argentina
☕ Invitame un café con Mercado Pago
🌎 Apoyar desde otro país
Descubre más desde Club Programador
Suscríbete y recibe las últimas entradas en tu correo electrónico.
3 opiniones en “20 ejercicios resueltos de Python para principiantes”