UT2: Estructuras de control¶
Introducción¶
Bienvenid@s a la Unidad de Trabajo 2 (UT2) del módulo profesional optativo (MPO) de Python. En esta unidad, nos centraremos en las estructuras de control, que son fundamentales para el desarrollo de programas en Python. Aprenderás a utilizar estructuras de control de flujo y repetición para crear programas más complejos y eficientes.
A lo largo de esta unidad, exploraremos las diferentes estructuras de control disponibles en Python, incluyendo condicionales (if, elif, else) y bucles (for, while). También aprenderás a utilizar la instrucción break para salir de un bucle y la instrucción continue para omitir una iteración.
Estructuras de control de flujo¶
Las estructuras de control de flujo permiten tomar decisiones en función de condiciones específicas. En Python, las estructuras de control de flujo más comunes son las condicionales if, elif y else. Estas estructuras permiten ejecutar diferentes bloques de código según si una condición es verdadera o falsa.
Estructura if¶
La estructura if se utiliza para evaluar una condición y ejecutar un bloque de código si la condición es verdadera. La sintaxis básica es la siguiente:
Estructura elif¶
La estructura elif (abreviatura de "else if") se utiliza para evaluar múltiples condiciones. Si la primera condición es falsa, se evalúa la siguiente condición elif. La sintaxis básica es la siguiente:
Estructura else¶
La estructura else se utiliza para ejecutar un bloque de código si todas las condiciones anteriores son falsas. La sintaxis básica es la siguiente:
Ejemplo de estructura de control de flujo¶
En este ejemplo, se solicita al usuario que introduzca su edad y se evalúa en qué categoría de edad se encuentra. Dependiendo de la edad ingresada, se imprime un mensaje diferente.
Estructuras de control de repetición¶
Las estructuras de control de repetición permiten ejecutar un bloque de código varias veces, ya sea un número determinado de veces o hasta que se cumpla una condición específica. En Python, las estructuras de control de repetición más comunes son los bucles for y while.
Bucle for¶
El bucle for se utiliza para iterar sobre una secuencia (como una lista, una tupla o un rango). La sintaxis básica es la siguiente:
Para iterar sobre una secuencia de números, puedes utilizar la función range(). Por ejemplo:
La función range(5) genera una secuencia de números del 0 al 4, y el bucle for imprime cada número en la consola. Range también puede aceptar un segundo argumento para especificar el número de inicio y un tercer argumento para especificar la secuencia de iteración. Por ejemplo, range(1, 10, 2) generará la secuencia 1, 3, 5, 7, 9.
Así pues, la función range() tiene la siguiente sintaxis:
Lo que pasa en un bucle for es que la variable toma el valor de cada elemento de la secuencia en cada iteración. Por ejemplo:
En este ejemplo, el bucle for itera sobre la lista numeros y asigna cada número a la variable numero, que luego se imprime en la consola.
Bucle while¶
El bucle while se utiliza para ejecutar un bloque de código mientras una condición sea verdadera. La sintaxis básica es la siguiente:
El bucle while es útil cuando no se conoce de antemano cuántas veces se debe ejecutar el bloque de código. Por ejemplo:
En este ejemplo, el bucle while se ejecuta mientras el usuario no introduzca 0. En cada iteración, se suma el número ingresado a la variable suma y se solicita un nuevo número al usuario.
Instrucción break¶
La instrucción break se utiliza para salir de un bucle antes de que se complete su iteración. Esto puede ser útil si se cumple una condición específica y no es necesario continuar con el bucle. Por ejemplo:
En este ejemplo, el bucle for se detiene cuando i es igual a 5, por lo que solo se imprimen los números del 0 al 4.
Instrucción continue¶
La instrucción continue se utiliza para omitir la iteración actual de un bucle y continuar con la siguiente iteración. Esto puede ser útil si se desea saltar ciertos valores en una secuencia. Por ejemplo:
En este ejemplo, la instrucción continue se utiliza para omitir los números pares, por lo que solo se imprimen los números impares del 0 al 9.
Cuando usar while y for¶
La elección entre while y for depende del problema que estés resolviendo. En general, se recomienda usar for cuando conoces de antemano el número de iteraciones que deseas realizar (por ejemplo, al iterar sobre una lista o un rango). Por otro lado, se recomienda usar while cuando no conoces el número de iteraciones y deseas continuar hasta que se cumpla una condición específica.
Por ejemplo, vamos a analizar los siguientes casos:
- Tenemos una lista de números y queremos imprimir cada número.
- Queremos pedir al usuario que introduzca números hasta que introduzca 0.
- Queremos imprimir los números del 1 al 10.
- Queremos imprimir los números del 1 al 10, pero si el número es par, lo omitimos.
- Queremos ejecutar un menú de opciones hasta que el usuario elija salir.
- Queremos ejecutar una acción en una lista de elementos hasta encontrar un elemento específico.
Como veis, no siempre hay una respuesta clara, pero si que hay casos en los que encaja mucho mejor un tipo de bucle que el otro.
Ejercicios de clase: estructuras de control condicionales¶
Ejercicios de clase: estructuras de control de repetición¶
Ejercicios prácticos (Nivel básico)¶
Asegúrate de leer atentamente cada ejercicio y de intentar resolverlo por tu cuenta antes de consultar las soluciones. Esto te ayudará a consolidar tus conocimientos y a mejorar tus habilidades de programación.