0%
Estructuras de control en Python: condicionales y bucles

Estructuras de control

Controla el flujo de ejecución de tus programas

10-15 min

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:

  1. 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).

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

  3. Utiliza nombres significativos para las variables de bucle cuando tenga sentido.

  4. 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

¡Enlace copiado!