6 - Estructuras condicionales simples y compuestas
Estructura condicional if y else.
No todos los problemas pueden resolverse empleando estructuras secuenciales 🙅🏾♂️ . Cuando hay que tomar una decisión 🤔 aparecen las estructuras condicionales:
¿Elijo la carrera A o la carrera B 📋 ?
¿Me pongo este pantalón 👖 ?
Para ir al trabajo, ¿Elijo el camino A 🛣️ o el camino B 🛤️ ?
Es común que en un problema se combinan estructuras secuenciales y condicionales.
Estructura condicional simple
Es cuando tenemos la opción de realizar una actividad o no realizar ninguna.

Podemos observar:
El rombo representa la condición 🚦
Hay dos opciones que se pueden tomar ⏯️ . Si la condición da verdadera se sigue el camino del verdadero ✅ , o sea el de la derecha, si la condición da falsa ❎ se sigue el camino de la izquierda donde no hay ninguna actividad.
Se trata de una estructura condional simple porque por el camino del verdadero hay actividades 👾 y por el camino del falso no hay actividades.
Por el camino del verdadero pueden existir varias operaciones, entradas y salidas, inclusive ya veremos ⏳ que puede haber otras estructuras condicionales.
Ejemplos
Ejemplo 1
Ingresar el sueldo de una persona en dólares, si este supera los $ 3000 mostrar un mensaje en pantalla indicando que debe abonar (pagar) impuestos

Podemos observar 👁️🗨️ lo siguiente: Siempre se hace la carga del sueldo, pero si el sueldo que ingresamos supera 3000 dolares 🤑 se mostrará por pantalla el mensaje "Esta persona debe abonar impuestos", en caso que la persona cobre 3000 o menos no aparece nada por pantalla.
salary = float (input ("Enter worker salary: $"))
if (salary>=3000) :
print("you must pay taxes")
La indentación es una característica obligatoria 👮🏾♂️ del lenguaje Python para codificación de las estructuras condicionales, de esta forma el intérprete de Python puede identificar donde finalizan las instrucciones contenidas en la rama verdadera del if.
Ejecutando ▶️ el programa, si ingresamos un sueldo mayor o igual a $ 3000. Podemos observar como aparece en pantalla el mensaje "Esta persona debe abonar impuestos", ya que la condición del if es verdadera:

Si volvemos a ejecutar e ingresamos un valor inferior a $ 3000 podemos observar que la instrucción que se encuentra por la rama del verdadero del if no se ejecuta:

Estructura condicional compuesta
Cuando se presenta una elección 🤔 donde tenemos la opción de realizar una actividad u otra 📋 . Es decir tenemos actividades por el verdadero y por el falso de la condición.

En una estructura condicional compuesta hay actividades tanto por la rama del verdadero como por la rama del falso.
Ejemplo 2
Realizar un programa que solicite ingresar dos números 🔢 distintos y muestre por pantalla 🖥️ el mayor de ellos.

Se hace la entrada de num1 y num2 por teclado ⌨️ . Para saber cual variable tiene un valor mayor preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es verdadera ✅ vamos por la rama de la derecha e imprimimos num1, en caso que la condición sea falsa ❌ vamos por la rama de la izquierda (Falsa) e imprimimos num2.
Nunca se imprimen num1 y num2 simultáneamente. Estamos en presencia de una estructura condicional compuesta ya que tenemos actividades por la rama del verdadero y del falso.
number1=int (input("Enter number1:"))
number2= int (input("Enter number2:"))
if(number1>number2):
print("The greater number is:",number1)
else(number1<number2):
print("The greater number is:",number2)
Cotejemos el diagrama de flujo 🔎 y la codificación y observemos que el primer bloque después del if representa la rama del verdadero y el segundo bloque después de la palabra clave else representa la rama del falso.
Ejecutamos el programa, si hubo errores sintácticos corrijamos y carguemos dos valores, como por ejemplo:

Operadores 🛠️
En una condición deben disponerse en únicamente variables, valores constantes y operadores relacionales.
Operadores relacionales 👩🔬
Igualdad: ==
Desigualdad: !=
Menor: <
Menor igual: <=
Mayor: >
Mayor igual: >=
Operadores mátematicos 👨🔬
Suma: +
Resta: -
Multiplicación: *
División flotantes: /
División enteros: //
Resto de una división: %
Exponenciación: **
Hay que tener en cuenta que al disponer una condición debemos seleccionar que operador relacional se adapta a la pregunta.
Ejemplos
Ingresar un número y multiplicarlo por 5 si es distinto de cero. (!=)
Se ingresan dos números, mostrar una advertencia si son iguales. (==)
Problemas propuestos 📚
Problema 1
Realizar un programa 📇 que solicite la carga por teclado de dos números, si el primero es mayor al segundo informar su suma y diferencia, en caso contrario informar el producto y la división del primero respecto al segundo.
Problema 2
Se ingresan tres notas 🗒️ de un alumno, si el promedio es mayor o igual a siete mostrar un mensaje "Promocionado"
Problema 3
Se ingresa por teclado un número positivo de uno o dos dígitos (1..99) mostrar un mensaje indicando si el número tiene uno 7️⃣ o dos dígitos 🔟 . (Tener en cuenta que condición debe cumplirse para tener dos dígitos un número entero)
Solución 🆘
number1=int (input("Enter number1:"))
number2= int (input("Enter number2:"))
if(number1>number2):
suma= number1 + number2
subtraction= number1 - number1
print("Sum:",suma)
print("Sub:", subtraction)
else(number1<number2):
multiplication=number1*number2
division = number1 / number2
print("Mult:",multiplication)
print("Div:", division)
Última actualización
¿Te fue útil?