Estructuras de control
Controla el flujo de ejecución de tus programas
Estructuras de control en Python: condicionales y bucles
Las estructuras de control son elementos fundamentales en programación que permiten controlar el flujo de ejecución de un programa. En lugar de ejecutar las instrucciones de forma lineal, permiten tomar decisiones y repetir acciones en función de condiciones específicas. En este tutorial vamos a explorar las distintas estructuras de control disponibles en Python.
Instrucciones condicionales (if, elif, else)
Las instrucciones condicionales permiten ejecutar código únicamente si se cumplen ciertas condiciones. Python ofrece varias formas de instrucciones condicionales.
Instrucción if simple
La forma más básica es la instrucción if seguida de una condición:
age = 18
if age >= 18:
print("Vous êtes majeur.")
En este ejemplo, el mensaje se mostrará únicamente si la edad es mayor o igual que 18.
Instrucción if-else
Para ejecutar un bloque de código alternativo cuando la condición no se cumple, se utiliza else:
age = 16
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
Instrucción if-elif-else
Para comprobar varias condiciones de forma secuencial, se utiliza elif (abreviatura de “else if”):
score = 75
if score >= 90:
print("Excellent !")
elif score >= 80:
print("Très bien !")
elif score >= 70:
print("Bien.")
elif score >= 60:
print("Passable.")
else:
print("Besoin d'amélioration.")
Python evalúa las condiciones por orden y ejecuta el bloque de código correspondiente a la primera condición verdadera.
Expresiones condicionales (operador ternario)
Python ofrece una sintaxis compacta para las expresiones condicionales simples:
age = 20
statut = "majeur" if age >= 18 else "mineur"
print(f"Vous êtes {statut}.")
Esta expresión es equivalente a la instrucción if-else completa.
Bucles
Los bucles permiten ejecutar un bloque de código varias veces. Python ofrece dos tipos principales de bucles: for y while.
Bucle for
El bucle for en Python se utiliza para iterar sobre una secuencia (lista, tupla, diccionario, conjunto o cadena de texto):
# Itération sur une liste
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print(f"J'aime les {fruit}s.")
# Itération sur une plage de nombres
for i in range(5): # 0, 1, 2, 3, 4
print(i)
# Itération avec index
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
La función range() se utiliza a menudo con los bucles for para generar secuencias de números.
Bucle while
El bucle while ejecuta un bloque de código mientras una condición sea verdadera:
compteur = 0
while compteur < 5:
print(f"Compteur: {compteur}")
compteur += 1
Es importante asegurarse de que la condición del bucle while se vuelva falsa en algún momento para evitar bucles infinitos.
Instrucciones de control de bucle
Python proporciona instrucciones especiales para modificar el comportamiento de los bucles.
break
La instrucción break permite salir inmediatamente de un bucle:
for i in range(10):
if i == 5:
break
print(i) # Affiche 0, 1, 2, 3, 4
continue
La instrucción continue pasa a la siguiente iteración del bucle:
for i in range(10):
if i % 2 == 0: # Si i est pair
continue
print(i) # Affiche uniquement les nombres impairs : 1, 3, 5, 7, 9
else con los bucles
Poco conocido, pero muy útil: los bucles for y while pueden tener una cláusula else que se ejecuta cuando el bucle termina con normalidad (sin break):
for i in range(5):
print(i)
else:
print("Boucle terminée normalement")
# Avec break
for i in range(5):
if i == 3:
break
print(i)
else:
print("Ce message ne sera pas affiché")
Comprensiones de lista
Las comprensiones de lista ofrecen una sintaxis concisa para crear listas a partir de secuencias existentes:
# Créer une liste des carrés des nombres de 0 à 9
carres = [x**2 for x in range(10)]
print(carres) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Avec condition
pairs = [x for x in range(10) if x % 2 == 0]
print(pairs) # [0, 2, 4, 6, 8]
Esta sintaxis también puede utilizarse con diccionarios y conjuntos.
Buenas prácticas
Estos son algunos consejos para utilizar eficazmente las estructuras de control:
-
Indentación: en Python, la indentación no es solo una cuestión de estilo, sino que define la estructura del código. Sé coherente con la indentación (se recomiendan 4 espacios por nivel).
-
Evita el anidamiento excesivo: demasiados niveles de anidamiento dificultan la lectura del código. Intenta refactorizar tu código o utilizar funciones para reducir la complejidad.
-
Utiliza nombres significativos para las variables de bucle cuando tenga sentido.
-
Prefiere las comprensiones de lista a los bucles for tradicionales para las operaciones sencillas de transformación de datos.
Conclusión
Las estructuras de control son esenciales para escribir programas Python flexibles y potentes. Te permiten tomar decisiones, repetir acciones y manipular el flujo de ejecución de tus programas.
En el próximo tutorial exploraremos la programación orientada a objetos en Python, que te permitirá organizar tu código de forma aún más eficaz y modular.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión