Estructuras de Control¶
1. Introducción¶
En esta lección, vamos a aprender a usar las estructuras de control en Python. Comenzaremos con los operadores lógicos, que nos permiten tomar decisiones en función de las condiciones. Luego veremos las estructuras condicionales (if, else) y los bucles (for, while), que nos permiten repetir ciertas acciones en el código. Además, exploraremos las Leyes de Moore, un concepto fundamental en la lógica booleana.
2. Operadores Lógicos¶
2.1 ¿Qué son los operadores lógicos?¶
Los operadores lógicos nos permiten comparar valores y tomar decisiones basadas en esos valores. En Python, los operadores lógicos más comunes son:
and: DevuelveTruesi ambas condiciones son verdaderas.or: DevuelveTruesi al menos una de las condiciones es verdadera.not: Invierte el valor de una condición (si esTrue, lo convierte enFalsey viceversa).
Además de los operadores lógicos, también tenemos los operadores de comparación, que nos permiten comparar dos valores:
>: Mayor que<: Menor que>=: Mayor o igual que<=: Menor o igual que==: Igual a!=: Distinto de
2.2 Leyes de Morgan¶
Las Leyes de Morgan son dos reglas que describen cómo se pueden simplificar expresiones lógicas que incluyen operadores and y or al aplicar negaciones. Son muy útiles en programación para reducir complejidad y evitar errores lógicos.
Primera Ley de Morgan:¶
Esto significa que la negación de una conjunción (lo que sería el and en una expresión) es equivalente a la disyunción de las negaciones de cada uno de los operandos.
Ejemplo en Python:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Segunda Ley de Morgan:¶
La negación de una disyunción (lo que sería el or en una expresión) es equivalente a la conjunción de las negaciones de cada uno de los operandos.
Ejemplo en Python:
1 2 3 4 5 6 7 8 9 10 11 12 | |
3. Condicionales (if, else)¶
Las estructuras condicionales permiten ejecutar diferentes bloques de código según ciertas condiciones. En Python, usamos if, elif y else para tomar decisiones basadas en expresiones lógicas.
3.1 Sintaxis básica:¶
1 2 3 4 5 6 | |
Ejemplo:¶
1 2 3 4 5 6 | |
3.2 Ejemplo con operadores lógicos:¶
1 2 3 4 5 6 7 | |
4. Bucles (for, while)¶
Los bucles nos permiten repetir un bloque de código múltiples veces. En Python, tenemos dos tipos de bucles: for y while.
4.1 Bucle for¶
El bucle for se utiliza cuando sabemos cuántas veces queremos repetir el bloque de código. Lo usamos con rangos de números.
Sintaxis básica:¶
for variable in range(inicio, fin):
# Bloque de código que se repite
Ejemplo con for:¶
for i in range(5):
print(i)
Este código imprimirá los números del 0 al 4.
4.2 Bucle while¶
El bucle while se ejecuta mientras se cumpla una condición. Es útil cuando no sabemos cuántas veces se repetirá el bloque de código.
Sintaxis básica:¶
while condición:
# Bloque de código que se repite
Ejemplo con while:¶
1 2 3 4 5 | |
Este bucle imprimirá los números del 0 al 4.
bucles infinitos
Asegúrate de que la condición del bucle while eventualmente se vuelva False, de lo contrario, el bucle se ejecutará indefinidamente (bucle infinito).
5. Ejercicios Prácticos¶
1. Calculadora básica:¶
Crea un programa que pida dos números y calcule su suma, resta, multiplicación y división. Usa condicionales para verificar si el divisor es cero antes de realizar la división.
Ejercicio: Calculadora básica
Crea un programa que pida dos números al usuario y calcule su suma, resta, multiplicación y división. Verifica que el divisor no sea cero antes de realizar la división.
Solución
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
2. Cuenta regresiva:¶
Crea un programa que imprima una cuenta regresiva desde 10 hasta 0.
Ejercicio: Cuenta regresiva
Crea un programa que imprima una cuenta regresiva desde 10 hasta 0.
Solución
1 2 3 4 5 | |
3. Paridad de un número:¶
Ejercicio: Paridad de un número
Escribe un programa que pida un número al usuario y determine si es par o impar utilizando un condicional.
Solución
1 2 3 4 5 6 | |
4. Cálculo de la edad:¶
Crea un programa que pida al usuario su fecha de nacimiento y calcule su edad en función del año actual. Si la edad es mayor o igual a 18, imprime "Eres mayor de edad", de lo contrario imprime "Eres menor de edad".
Ejercicio: Cálculo de la edad
Pide al usuario su año de nacimiento y calcula su edad. Si la edad es mayor o igual a 18, imprime "Eres mayor de edad", de lo contrario imprime "Eres menor de edad".
Necesitaras las funciones del módulo datetime para obtener el año actual:
1 2 3 | |
Ya veremos más sobre módulos en lecciones futuras.
Solución
1 2 3 4 5 6 7 8 9 10 | |
5. Cálculo de los primeros N números naturales:¶
Crea un programa que pida al usuario un número N y calcule la suma de los primeros N números naturales utilizando un bucle for.
Ejercicio: Suma de N números
Pide un número N al usuario y calcula la suma de los primeros N números naturales.
Solución
1 2 3 4 5 6 7 | |
6. Resumen¶
En esta lección, hemos aprendido a usar operadores lógicos, condicionales y bucles en Python. Estas estructuras de control nos permiten tomar decisiones y repetir acciones en nuestro código,
Tanda de ejercicios (sin solución)¶
Tanda de ejercicios
-
Condicional: Número mayor que 10
- Escribe un programa que pida un número al usuario. Si el número es mayor que 10, imprime "El número es mayor que 10", de lo contrario, imprime "El número es menor o igual a 10".
-
Condicional: Edad de entrada
- Crea un programa que pida la edad del usuario. Si la edad es mayor o igual a 18, imprime "Eres mayor de edad". Si la edad es menor a 18, imprime "Eres menor de edad".
-
Bucle
for: Sumar números en un rango- Crea un programa que pida al usuario un número
Ny luego sume los números del 1 alNusando un buclefor. Imprime el resultado de la suma.
- Crea un programa que pida al usuario un número
-
Bucle
for: Tabla de multiplicar- Crea un programa que pida un número
Ny luego imprima su tabla de multiplicar del 1 al 10, utilizando un buclefor. El formato debe ser algo como: "N x 1 = N", "N x 2 = 2N", etc.
- Crea un programa que pida un número
-
Bucle
while: Contador ascendente- Crea un programa que imprima los números del 1 al 10 usando un bucle
while.
- Crea un programa que imprima los números del 1 al 10 usando un bucle
-
Bucle
while: Cuenta atrás- Crea un programa que imprima una cuenta atrás desde 20 hasta 0 utilizando un bucle
while.
- Crea un programa que imprima una cuenta atrás desde 20 hasta 0 utilizando un bucle
-
Condicional y
for: Mayor de una lista- Crea un programa que tenga una lista de números
[3, 12, 45, 7, 23]. Usa un bucleforpara recorrer la lista y un condicional para imprimir "Mayor que 10" si el número es mayor que 10.
- Crea un programa que tenga una lista de números
-
Condicional y
while: Verificar paridad- Crea un programa que pida un número al usuario y use un bucle
whilepara verificar si el número es par o impar. Imprime el resultado y termina el bucle.
- Crea un programa que pida un número al usuario y use un bucle
-
forywhile: Promedio de números- Pide al usuario un número
Ny luego solicitaNnúmeros. Usa un bucleforpara pedir los números y calcula el promedio de esos números. Imprime el resultado.
- Pide al usuario un número
-
forywhile: Suma hasta alcanzar el número objetivo- Crea un programa que use un bucle
forpara sumar números del 1 al 100. Si la suma alcanza o supera 500, termina el bucle y muestra el número de iteraciones realizadas hasta alcanzar ese total.
- Crea un programa que use un bucle