Condicionales y ciclos en Python: 20 ejercicios resueltos

Aprendé condicionales y ciclos en Python con 20 ejercicios resueltos usando if, elif, else, while, for, range y operadores lógicos.


Los condicionales y los ciclos son dos de las estructuras más importantes de cualquier lenguaje de programación. Con ellos podemos tomar decisiones, repetir tareas y construir programas que reaccionan a distintas situaciones.

En esta guía vamos a practicar condicionales y ciclos en Python mediante ejemplos claros y ejercicios resueltos paso a paso. Trabajaremos con if, elif, else, while, for, range() y operadores lógicos.

Idea clave: los condicionales sirven para decidir qué camino seguir y los ciclos sirven para repetir acciones. En la mayoría de los programas reales ambas estructuras aparecen combinadas.

Condicionales en Python

La estructura básica utiliza if:

edad = 20

if edad >= 18:
    print("Es mayor de edad")

Podemos agregar una alternativa con else:

if edad >= 18:
    print("Es mayor de edad")
else:
    print("Es menor de edad")

Y si necesitamos evaluar varias condiciones, podemos utilizar elif:

nota = 8

if nota >= 7:
    print("Aprobado")
elif nota >= 4:
    print("Recupera")
else:
    print("Desaprobado")

Operadores de comparación

  • == igual a
  • != distinto de
  • > mayor que
  • < menor que
  • >= mayor o igual que
  • <= menor o igual que

Operadores lógicos

  • and: ambas condiciones deben cumplirse.
  • or: alcanza con que una condición se cumpla.
  • not: invierte un valor lógico.
edad = 25
tiene_documento = True

if edad >= 18 and tiene_documento:
    print("Puede ingresar")

Ciclo while

while repite un bloque mientras una condición sea verdadera.

contador = 1

while contador <= 5:
    print(contador)
    contador += 1

Ciclo for

for se utiliza para recorrer secuencias o rangos de valores.

for numero in range(1, 6):
    print(numero)

range(1, 6) genera los valores 1, 2, 3, 4 y 5. El límite final no se incluye.

¿Cuándo usar for y cuándo while?

Como regla general:

  • usá for cuando sabés cuántas veces querés repetir algo o cuando recorrés una colección;
  • usá while cuando la repetición depende de una condición y no sabés de antemano cuántas iteraciones habrá.

Índice de ejercicios

  1. Mayor de edad
  2. Positivo, negativo o cero
  3. Mayor de tres números
  4. Año bisiesto
  5. Validar contraseña
  6. Tabla de multiplicar
  7. Suma del 1 hasta N
  8. Contar números pares
  9. Sumar solo positivos
  10. Ingresar números hasta escribir 0
  11. Intentos de contraseña
  12. Adivinar un número
  13. Mostrar múltiplos
  14. Contar vocales
  15. Menú repetitivo
  16. Promedio con valor de corte
  17. Número primo
  18. Serie de Fibonacci
  19. Máximo de una secuencia
  20. Mini sistema con menú

1. Mayor de edad

edad = int(input("Ingrese su edad: "))

if edad >= 18:
    print("Es mayor de edad")
else:
    print("Es menor de edad")

2. 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")

3. Mayor de tres números

a = float(input("Ingrese el primer numero: "))
b = float(input("Ingrese el segundo numero: "))
c = float(input("Ingrese el tercer numero: "))

mayor = a

if b > mayor:
    mayor = b

if c > mayor:
    mayor = c

print("El mayor es:", mayor)

4. Año bisiesto

anio = int(input("Ingrese un anio: "))

if anio % 400 == 0 or (anio % 4 == 0 and anio % 100 != 0):
    print("Es bisiesto")
else:
    print("No es bisiesto")

5. Validar contraseña

clave = input("Ingrese la clave: ")

if clave == "python123":
    print("Acceso permitido")
else:
    print("Clave incorrecta")

6. Tabla de multiplicar

numero = int(input("Ingrese un numero: "))

for i in range(1, 11):
    print(numero, "x", i, "=", numero * i)

7. Suma del 1 hasta N

n = int(input("Ingrese un numero positivo: "))
suma = 0

for i in range(1, n + 1):
    suma += i

print("Resultado:", suma)

8. Contar números pares

cantidad = 0

for numero in range(1, 21):
    if numero % 2 == 0:
        cantidad += 1

print("Cantidad de pares:", cantidad)

9. Sumar solo positivos

suma = 0

for i in range(5):
    numero = float(input("Ingrese un numero: "))

    if numero > 0:
        suma += numero

print("Suma de positivos:", suma)

10. Ingresar números hasta escribir 0

suma = 0
numero = float(input("Ingrese un numero (0 para terminar): "))

while numero != 0:
    suma += numero
    numero = float(input("Ingrese otro numero (0 para terminar): "))

print("Suma total:", suma)

11. Intentos de contraseña

clave_correcta = "python123"
intentos = 0
acceso = False

while intentos < 3 and not acceso:
    clave = input("Ingrese la clave: ")

    if clave == clave_correcta:
        acceso = True
    else:
        intentos += 1

if acceso:
    print("Acceso permitido")
else:
    print("Cuenta bloqueada")

12. Adivinar un número

secreto = 7
numero = None

while numero != secreto:
    numero = int(input("Adivine el numero: "))

    if numero < secreto:
        print("El numero secreto es mayor")
    elif numero > secreto:
        print("El numero secreto es menor")

print("Correcto")

13. Mostrar múltiplos de un número

numero = int(input("Ingrese un numero: "))
limite = int(input("Ingrese un limite: "))

for valor in range(numero, limite + 1, numero):
    print(valor)

14. Contar vocales

texto = input("Ingrese un texto: ")
cantidad = 0

for caracter in texto.lower():
    if caracter in "aeiou":
        cantidad += 1

print("Cantidad de vocales:", cantidad)

15. Menú repetitivo

opcion = 0

while opcion != 3:
    print("")
    print("1. Saludar")
    print("2. Mostrar mensaje")
    print("3. Salir")

    opcion = int(input("Seleccione una opcion: "))

    if opcion == 1:
        print("Hola")

    elif opcion == 2:
        print("Bienvenido a Club Programador")

    elif opcion == 3:
        print("Hasta luego")

    else:
        print("Opcion invalida")

16. Promedio con valor de corte

Ingresamos notas hasta escribir -1.

suma = 0
cantidad = 0

nota = float(input("Ingrese una nota (-1 para terminar): "))

while nota != -1:
    suma += nota
    cantidad += 1

    nota = float(input("Ingrese otra nota (-1 para terminar): "))

if cantidad > 0:
    promedio = suma / cantidad
    print("Promedio:", promedio)
else:
    print("No se ingresaron notas")

17. 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")

18. Serie de Fibonacci

cantidad = int(input("Cantidad de terminos: "))

a = 0
b = 1

for i in range(cantidad):
    print(a)

    siguiente = a + b
    a = b
    b = siguiente

19. Máximo de una secuencia

cantidad = int(input("Cuantos numeros desea ingresar: "))

if cantidad > 0:
    mayor = float(input("Ingrese el primer numero: "))

    for i in range(1, cantidad):
        numero = float(input("Ingrese otro numero: "))

        if numero > mayor:
            mayor = numero

    print("El mayor es:", mayor)
else:
    print("La cantidad debe ser mayor que cero")

20. Mini sistema con menú

Combinamos condicionales y ciclos en un pequeño programa interactivo.

opcion = 0

while opcion != 4:
    print("")
    print("=== CLUB PROGRAMADOR ===")
    print("1. Par o impar")
    print("2. Tabla de multiplicar")
    print("3. Contar del 1 al 5")
    print("4. Salir")

    opcion = int(input("Seleccione una opcion: "))

    if opcion == 1:
        numero = int(input("Ingrese un numero: "))

        if numero % 2 == 0:
            print("Es par")
        else:
            print("Es impar")

    elif opcion == 2:
        numero = int(input("Ingrese un numero: "))

        for i in range(1, 11):
            print(numero, "x", i, "=", numero * i)

    elif opcion == 3:
        for i in range(1, 6):
            print(i)

    elif opcion == 4:
        print("Programa finalizado")

    else:
        print("Opcion invalida")

Errores comunes con condicionales y ciclos

  • Confundir = con ==: el primero asigna, el segundo compara.
  • Olvidar los dos puntos: estructuras como if, for y while terminan con :.
  • Indentación incorrecta: las instrucciones que pertenecen a una estructura deben estar indentadas.
  • Ciclo infinito: en un while asegurate de que en algún momento cambie la condición.
  • Error en range(): recordá que el valor final no se incluye.

Cómo practicar

Una buena forma de aprender es modificar estos ejercicios. Podés:

  • agregar validaciones;
  • cambiar los límites de los ciclos;
  • combinar dos ejercicios;
  • crear nuevas opciones en los menús;
  • intentar resolver cada ejercicio antes de mirar la solución.

Próximo paso: listas en Python

Una vez dominados condicionales y ciclos, el siguiente paso natural es trabajar con colecciones de datos. En la próxima guía vamos a profundizar en listas en Python con ejercicios resueltos.

Seguí aprendiendo Python

Antes de seguir, podés repasar tipos de datos y conversiones en Python.

Cuando ya dominás decisiones y repeticiones, el siguiente paso es trabajar con colecciones:

Listas en Python: 20 ejercicios resueltos paso a paso →

Ver la ruta completa de Python


¿Te sirvió esta guía? ☕

Si estos ejercicios te ayudaron a aprender 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 “Condicionales y ciclos en Python: 20 ejercicios resueltos”

Deja un comentario

Descubre más desde Club Programador

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

Seguir leyendo