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:
if condición:
# Bloque de código a ejecutar si la condición es verdadera
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:
if condición1:
# Bloque de código a ejecutar si condición1 es verdadera
elif condición2:
# Bloque de código a ejecutar si condición2 es verdadera
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:
if condición1:
# Bloque de código a ejecutar si condición1 es verdadera
elif condición2:
# Bloque de código a ejecutar si condición2 es verdadera
else:
# Bloque de código a ejecutar si todas las condiciones anteriores son falsas
Ejemplo de estructura de control de flujo¶
edad = int(input("Introduce tu edad: "))
if edad < 18:
print("Eres menor de edad.")
elif edad >= 18 and edad < 65:
print("Eres adulto.")
else:
print("Eres mayor de edad.")
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:
for variable in secuencia:
# Bloque de código a ejecutar en cada iteración
Para iterar sobre una secuencia de números, puedes utilizar la función range()
. Por ejemplo:
for i in range(5):
print(i)
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:
range(inicio, fin, paso)
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:
numeros = [1, 2, 3, 4, 5]
for numero in numeros:
print(numero)
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:
while condición:
# Bloque de código a ejecutar mientras la condición sea verdadera
El bucle while
es útil cuando no se conoce de antemano cuántas veces se debe ejecutar el bloque de código. Por ejemplo:
numero = int(input("Introduce un número: "))
suma = 0
while numero != 0:
suma += numero
numero = int(input("Introduce otro número (0 para salir): "))
print("La suma es:", suma)
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:
for i in range(10):
if i == 5:
break
print(i)
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:
for i in range(10):
if i % 2 == 0:
continue
print(i)
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.