20 ejercicios resueltos de Python para principiantes

20 ejercicios resueltos de Python para principiantes con variables, condicionales, ciclos, cadenas, listas, búsquedas, funciones y un mini menú interactivo.


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

  1. Hola mundo y entrada de datos
  2. Sumar dos números
  3. Número par o impar
  4. Mayor de dos números
  5. Positivo, negativo o cero
  6. Promedio de notas
  7. Tabla de multiplicar
  8. Suma de 1 hasta N
  9. Factorial
  10. Número primo
  11. Contar vocales
  12. Invertir una cadena
  13. Mayor valor de una lista
  14. Promedio de una lista
  15. Buscar un valor en una lista
  16. Contar pares e impares
  17. Eliminar duplicados
  18. Ordenar una lista
  19. Función para calcular un área
  20. 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() y float();
  • condicionales;
  • ciclos for y while;
  • 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

☕ Apoyar con PayPal


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”

Deja un comentario

Descubre más desde Club Programador

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo