Expresiones Condicionales
En este capítulo, exploramos uno de los aspectos más fundamentales de la programación en Python: las expresiones condicionales utilizando los operadores if
, else
y elif
.
Estos operadores permiten ejecutar diferentes bloques de código según condiciones específicas, brindando la capacidad de tomar decisiones dinámicamente dentro de los programas. Comprender estas expresiones es esencial para desarrollar aplicaciones que puedan reaccionar de manera efectiva a diversas entradas y situaciones.
Observa cómo Alex demuestra la versatilidad de estas expresiones condicionales:
La sentencia if
evalúa una condición y ejecuta un bloque de código si la condición es True
. Si la condición no es True
, las sentencias else
y elif
(abreviatura de "else if") pueden especificar condiciones adicionales para verificar y ejecutar diferentes bloques de código según corresponda.
Así es como funcionan:
if
La sentencia condicional principal evalúa si una condición es True
. Inicia una secuencia condicional. Las sentencias if
solo pueden aparecer una vez al inicio de una secuencia. Si la condición se evalúa como True
, el bloque de código indentado que sigue a la sentencia if
se ejecutará.
elif
Abreviatura de "else if", la sentencia elif
proporciona condiciones adicionales para verificar si la condición inicial del if
o cualquier condición previa de elif
fue False
. Se pueden incluir múltiples sentencias elif
después de una sentencia if
para manejar varios escenarios, cada una con su propia condición.
else
Actúa como un caso general para situaciones no abordadas específicamente por las condiciones previas de if
y elif
. Solo puede haber una sentencia else
al final de una secuencia de sentencias if
, y no requiere condición.
Aplicaciones de ejemplo
Comencemos con una sentencia simple if
/ else
para tomar una decisión basada en una sola condición. Aquí, intentamos determinar si un artículo de supermercado necesita ser reabastecido según su nivel actual de inventario:
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
Este diagrama de flujo muestra las rutas de decisión que seguiría el intérprete de Python en el ejemplo anterior de if-else
:
A continuación, se utiliza la instrucción elif
en una aplicación ligeramente más compleja. En esta aplicación, se emplean las sentencias if
/ elif
/ else
para aplicar tasas de descuento en función de los costos totales, con el objetivo de incentivar ventas mayores.
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
Este diagrama de flujo visualiza el proceso de aplicación de descuentos según el costo total utilizando las sentencias if
, elif
, else
:
En la siguiente aplicación, se introducen condiciones anidadas if-else
para demostrar un proceso de toma de decisiones más detallado. Al incluir una estructura if-else
dentro de otra, es posible tomar una serie de decisiones basadas en múltiples criterios.
Este ejemplo práctico ilustra cómo una tienda de comestibles podría gestionar el inventario según el tipo de producto y condiciones específicas, como los días desde la entrega o los niveles de stock.
# Initial conditions product = 'Non-Perishable' stock = 70 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
El siguiente diagrama de árbol de decisiones representa visualmente la lógica anidada de if-else
utilizada en el ejemplo de código anterior:
Algunas notas sobre la sintaxis
Al escribir sentencias condicionales en Python, es esencial seguir reglas sintácticas específicas. Puede que hayas notado el papel fundamental de los dos puntos :
y la indentación para crear condiciones ejecutables.
Examinemos el papel que juegan estos pequeños detalles:
Dos puntos
Piensa en el dos puntos al final de una sentencia if
, elif
o else
como una señal que indica: "Esto es lo que se debe hacer si la condición mencionada es verdadera." El dos puntos actúa como un indicador, marcando claramente dónde comienzan las instrucciones.
Indentación
Cuando la condición sobre un bloque de código indentado es True
, todas las líneas de código indentadas debajo de ella se ejecutan. Si no es True
, Python omite estos pasos y busca la siguiente condición.
Aunque estos detalles puedan parecer menores, son cruciales para asegurar que tu código se ejecute correctamente. A medida que te familiarices más con Python, estas prácticas se volverán algo natural.
¡Excelente trabajo al comprender estos aspectos fundamentales de Python! Tu entendimiento sobre cómo estructurar correctamente las sentencias de control establece una base sólida para abordar tareas de programación más complejas. Ahora, pongamos a prueba tus nuevas habilidades con un desafío integral que te permitirá aplicar lo que has aprendido en un escenario práctico.
Swipe to start coding
Crear un sistema sencillo de estrategia de descuentos para una tienda de comestibles que aplique descuentos según el tipo de producto y el día de la semana.
- Utilizar las variables de entrada
product_type
yday_of_week
. - Implementar sentencias condicionales para comprobar:
- Si
product_type
es"Fruits"
yday_of_week
es"Monday"
, mostrar un 10% de descuento en frutas; - Si
product_type
es"Vegetables"
yday_of_week
es"Tuesday"
, mostrar un 15% de descuento en verduras; - Si
product_type
es"Dairy"
yday_of_week
es"Wednesday"
, mostrar un 20% de descuento en lácteos; - Si
product_type
es"Other"
, mostrar"No discount available."
; - Utilizar
else
para manejar otros casos donde no se cumpla ninguna condición.
- Si
Requisitos de salida
- Mostrar mensajes como:
"10% discount on Fruits today!"
para cada condición que se cumpla. - Si
product_type
es"Other"
, mostrar"No discount available."
- Si no se cumple ninguna condición, mostrar
"No special discounts today."
Solución
¡Gracias por tus comentarios!