Ciclos en Python
Los ciclos (o bucles) son una herramienta esencial en programación para ejecutar un bloque de código varias veces. En Python, los principales tipos de ciclos son for y while. Cada uno tiene sus propias aplicaciones y sintaxis.
1. Ciclo for
El ciclo for se utiliza para iterar sobre una secuencia (como una cadena, lista, tupla o diccionario). La sintaxis básica es:
for variable in secuencia:
# Bloque de código a ejecutar en cada iteración
Ejemplos de Ciclo for
1.1 Iterando sobre una Lista
Itera sobre los elementos de una lista y muestra cada uno.
# Lista de frutas
frutas = ["manzana", "banana", "cereza", "naranja"]
# Ciclo for para iterar sobre la lista
for fruta in frutas:
print(f"Fruta: {fruta}")
Salida:
Fruta: manzana
Fruta: banana
Fruta: cereza
Fruta: naranja
1.2 Iterando sobre una Cadena
Cada carácter de la cadena se considera un elemento.
# Cadena de texto
mensaje = "¡Hola, mundo!"
# Ciclo for para iterar sobre cada carácter
for caracter in mensaje:
print(caracter)
Salida:
!
H
o
l
a
,
m
u
n
d
o
!
1.3 Iterando con Índices y Valores
Para obtener tanto el índice como el valor, usa enumerate().
# Lista de números
numeros = [10, 20, 30, 40]
# Ciclo for con enumerate()
for indice, numero in enumerate(numeros):
print(f"Índice: {indice}, Valor: {numero}")
Salida:
Índice: 0, Valor: 10
Índice: 1, Valor: 20
Índice: 2, Valor: 30
Índice: 3, Valor: 40
1.4 Iterando sobre un Diccionario
Puedes iterar sobre las claves, valores o pares clave-valor de un diccionario.
# Diccionario de estudiantes y sus calificaciones
estudiantes = {
"Juan": 85,
"María": 92,
"Pedro": 78
}
# Ciclo for para iterar sobre las claves
print("Claves:")
for estudiante in estudiantes:
print(estudiante)
# Ciclo for para iterar sobre los valores
print("\nValores:")
for calificacion in estudiantes.values():
print(calificacion)
# Ciclo for para iterar sobre pares clave-valor
print("\nPares clave-valor:")
for estudiante, calificacion in estudiantes.items():
print(f"{estudiante}: {calificacion}")
Salida:
Claves:
Juan
María
Pedro
Valores:
85
92
78
Pares clave-valor:
Juan: 85
María: 92
Pedro: 78
2. Ciclo while
El ciclo while se ejecuta mientras una condición especificada sea verdadera. La sintaxis básica es:
while condicion:
# Bloque de código a ejecutar mientras la condición sea verdadera
Ejemplos de Ciclo while
2.1 Contador Simples
Incrementa un contador hasta que se cumpla una condición.
# Inicialización del contador
contador = 0
# Ciclo while que se ejecuta mientras contador sea menor que 5
while contador < 5:
print(f"Contador: {contador}")
contador += 1 # Incrementa el contador en cada iteración
Salida:
Contador: 0
Contador: 1
Contador: 2
Contador: 3
Contador: 4
2.2 Menú de Opciones
Crea un menú interactivo que se mantenga abierto hasta que el usuario decida salir.
# Variable para controlar el bucle
opcion = "0"
while opcion != "3":
print("\nMenú:")
print("1. Mostrar mensaje")
print("2. Sumar dos números")
print("3. Salir")
opcion = input("\nIngrese una opción: ")
if opcion == "1":
print("\n¡Hola, mundo!")
elif opcion == "2":
num1 = float(input("\nIngrese el primer número: "))
num2 = float(input("Ingrese el segundo número: "))
suma = num1 + num2
print(f"\nSuma: {suma}")
elif opcion == "3":
print("\nSaliendo del programa...")
else:
print("\nOpción no válida. Inténtelo de nuevo.")
Ejemplo de Interacción:
Menú:
1. Mostrar mensaje
2. Sumar dos números
3. Salir
Ingrese una opción: 2
Ingrese el primer número: 5
Ingrese el segundo número: 7
Suma: 12
Menú:
1. Mostrar mensaje
2. Sumar dos números
3. Salir
Ingrese una opción: 3
Saliendo del programa...
2.3 Validación de Entrada
Valida que el usuario ingrese un número entero positivo.
# Variable para almacenar la entrada del usuario
numero = None
while True:
try:
numero = int(input("Ingrese un número entero: "))
if numero > 0:
print(f"\n¡Gracias! Usted ingresó el número {numero}.")
break # Sale del bucle si se cumple la condición
else:
print("\nEl número debe ser positivo. Inténtelo de nuevo.")
except ValueError:
print("\nError: Ingrese un número entero válido.")
Ejemplo de Interacción:
Ingrese un número entero: -5
El número debe ser positivo. Inténtelo de nuevo.
Ingrese un número entero: 10
¡Gracias! Usted ingresó el número 10.
3. Ciclos Anidados
Puedes anidar ciclos for o while dentro de otros ciclos para realizar tareas más complejas, como iterar sobre matrices bidimensionales.
Ejemplo de Ciclo Anidado: Matriz Bidimensional
# Definición de una matriz 3x3
matriz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Ciclo exterior para iterar sobre las filas
for fila in matriz:
# Ciclo interior para iterar sobre los elementos de la fila
for elemento in fila:
print(f"Elemento: {elemento}")
Salida:
Elemento: 1
Elemento: 2
Elemento: 3
Elemento: 4
Elemento: 5
Elemento: 6
Elemento: 7
Elemento: 8
Elemento: 9
4. Ejercicios Prácticos
Para practicar, resuelve los siguientes ejercicios:
-
Suma de Números: Escribe un programa que pida al usuario números enteros hasta que ingrese
0, y muestre la suma total de los números ingresados. -
Números Pares e Impares: Crea un programa que use un ciclo
forpara imprimir todos los números pares del 1 al 20, y un ciclowhilepara imprimir todos los impares en el mismo rango. -
Validación de Contraseña: Implementa un sistema de login donde el usuario debe ingresar una contraseña correcta ("admin123") y se le den 3 intentos máximos.
-
Tabla de Multiplicar: Escribe un programa que muestre la tabla de multiplicar del número ingresado por el usuario, desde 1 hasta 10.
5. Conclusión
Ahora deberías tener una buena comprensión de cómo funciona los ciclos for y while en Python, así como su aplicación en diferentes contextos. Los ciclos son fundamentales para automatizar tareas repetitivas y manejar datos de manera eficiente. Practica regularmente con ejercicios y proyectos para fortalecer tus habilidades.