Modulo 3: Control de Flujo y Estructuras Condicionales
▸ python-desde-cero/control-de-flujo-y-estructuras-condicionales
@yoezequiel 07-03-2025
1️⃣1️⃣ Estructuras Condicionales (if, elif, else)
-
¿Qué son las estructuras condicionales?
- Las estructuras condicionales nos permiten ejecutar diferentes bloques de código dependiendo de si una condición es verdadera o falsa.
-
Sintaxis de
if
,elif
yelse
:if
: Ejecuta un bloque de código si la condición es verdadera.if condicion: # Código a ejecutar si la condición es verdadera
elif
: Es una forma de “si no”, permite evaluar otras condiciones si la inicial es falsa.if condicion1: # Código si condicion1 es verdadera elif condicion2: # Código si condicion2 es verdadera
else
: Se ejecuta cuando ninguna de las condiciones anteriores es verdadera.if condicion1: # Código si condicion1 es verdadera else: # Código si todas las condiciones anteriores son falsas
-
Ejemplo práctico:
- Crear un programa que determine si una persona es mayor de edad o menor de edad según su edad:
edad = int(input("¿Cuál es tu edad? ")) if edad >= 18: print("Eres mayor de edad.") else: print("Eres menor de edad.")
- Crear un programa que determine si una persona es mayor de edad o menor de edad según su edad:
-
Indentación en Python:
- La indentación es crucial en Python para definir bloques de código. Asegúrate de usar 4 espacios por nivel de indentación.
1️⃣2️⃣ Operadores Lógicos y Relacionales en Condiciones
-
Operadores Relacionales (se usan en las condiciones
if
para comparar valores):- Igual (==): Compara si dos valores son iguales.
- Ejemplo:
if edad == 18:
- Ejemplo:
- Distinto de (!=): Compara si dos valores son diferentes.
- Ejemplo:
if edad != 18:
- Ejemplo:
- Mayor que (>): Compara si un valor es mayor que otro.
- Ejemplo:
if edad > 18:
- Ejemplo:
- Menor que ( < ): Compara si un valor es menor que otro.
- Ejemplo:
if edad < 18:
- Ejemplo:
- Mayor o igual que (>=): Compara si un valor es mayor o igual a otro.
- Ejemplo:
if edad >= 18:
- Ejemplo:
- Menor o igual que (< =): Compara si un valor es menor o igual a otro.
- Ejemplo:
if edad <= 18:
- Ejemplo:
- Igual (==): Compara si dos valores son iguales.
-
Operadores Lógicos (se utilizan para combinar condiciones):
and
: DevuelveTrue
si ambas condiciones son verdaderas.- Ejemplo:
if edad > 18 and edad < 60:
- Ejemplo:
or
: DevuelveTrue
si al menos una de las condiciones es verdadera.- Ejemplo:
if edad < 18 or edad > 60:
- Ejemplo:
not
: Invierte el valor de la condición (si esTrue
se convierte enFalse
y viceversa).- Ejemplo:
if not edad == 18:
- Ejemplo:
-
Ejemplo práctico:
- Crear un programa que determine si una persona puede votar según su edad y si está registrada:
edad = int(input("¿Cuál es tu edad? ")) registrado = input("¿Estás registrado para votar? (sí/no): ") if edad >= 18 and registrado.lower() == "sí": print("Puedes votar.") else: print("No puedes votar.")
- Crear un programa que determine si una persona puede votar según su edad y si está registrada:
1️⃣3️⃣ Uso de match-case
(Python 3.10+)
-
¿Qué es
match-case
?- El
match-case
es una nueva característica introducida en Python 3.10 que permite realizar comparaciones complejas de una manera más legible y estructurada. Se utiliza principalmente para verificar valores específicos, similar a unswitch-case
en otros lenguajes.
- El
-
Sintaxis básica de
match-case
:
La sintaxis general es la siguiente:match variable: case valor1: # Bloque de código si variable es igual a valor1 case valor2: # Bloque de código si variable es igual a valor2 case _: # Bloque de código si no coincide con ningún valor
-
Ejemplo de
match-case
:
Supongamos que queremos determinar el día de la semana según el número ingresado:dia = int(input("Ingresa el número del día (1-7): ")) match dia: case 1: print("Lunes") case 2: print("Martes") case 3: print("Miércoles") case 4: print("Jueves") case 5: print("Viernes") case 6: print("Sábado") case 7: print("Domingo") case _: print("Número no válido")
-
¿Por qué usar
match-case
?- Es más legible y claro cuando se tiene que evaluar múltiples condiciones para una misma variable.
- Puede manejar más casos de forma eficiente, especialmente cuando hay patrones complejos.
-
Ejemplo práctico:
Crear un programa que determine el tipo de fruta según un código numérico usandomatch-case
:codigo = int(input("Ingresa el código de la fruta (1-3): ")) match codigo: case 1: print("Manzana") case 2: print("Banana") case 3: print("Naranja") case _: print("Fruta desconocida")