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á
forcuando sabés cuántas veces querés repetir algo o cuando recorrés una colección; - usá
whilecuando la repetición depende de una condición y no sabés de antemano cuántas iteraciones habrá.
Índice de ejercicios
- Mayor de edad
- Positivo, negativo o cero
- Mayor de tres números
- Año bisiesto
- Validar contraseña
- Tabla de multiplicar
- Suma del 1 hasta N
- Contar números pares
- Sumar solo positivos
- Ingresar números hasta escribir 0
- Intentos de contraseña
- Adivinar un número
- Mostrar múltiplos
- Contar vocales
- Menú repetitivo
- Promedio con valor de corte
- Número primo
- Serie de Fibonacci
- Máximo de una secuencia
- 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,forywhileterminan con:. - Indentación incorrecta: las instrucciones que pertenecen a una estructura deben estar indentadas.
- Ciclo infinito: en un
whileasegurate 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
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”