Estructuras de Control - Condicionales
Las estructuras de control son herramientas que nos permite controlar el flujo de un programa. La estructura de control condicional nos permite decidir qué instrucciones se van a ejecutar dependiendo de una o varias condiciones.
En Python, las estructuras de control condicionales se realizan a través de los comandos if
, elif
y else
.
Ejercicio 1
Las condiciones las establecemos a través de operadores como los de igualdad (==), desigualdad (!=), mayor que (>), menor que (=), menor o igual que (<=).
numero = 5
if numero > 0:
print("El número es positivo")
En este ejemplo, la condición es que el número es mayor que 0. Como es así, la instrucción print se ejecuta y muestra el texto "El número es positivo" en la consola.
Ejercicio 2
Podemos añadir un else a la condición para establecer una instrucción que se ejecute en caso de que la condición no se cumpla.
numero = -5 if numero > 0:
print("El número es positivo") else: print("El número es negativo")
Continuamos presentando ejemplos más avanzados. Cada uno explicará un concepto de estructuras de control condicionales en Python.
Ejemplo 4: Uso de la declaración if-elif-else
El siguiente código demuestra el uso de los condicionales if, elif y else en Python. Se crea un programa que le pide al usuario dar una puntuación numérica a una película. Según la puntuación ingresada por el usuario, el programa emitirá una evaluación para esa película.
# Python program showing
# a use of elif
score = input("Ingrese la puntuación de la película: ")
if score >= 8:
print("Excelente película!")
elif (score >= 6 and score < 8):
print("Buena película.")
elif (score >=4 and score < 6):
print("Película promedio.")
else:
print("Mala película.")
Ejemplo 5: Anidados if
En Python, estas estructuras de control condicional se pueden anidar una dentro de otra. Aquí hay un ejemplo de una estructura condicional anidada.
# Python program showing
# a use of nested-if
age = 13
if age < 18:
print("Menor de edad!")
# Show if statement inside the if statement
if age > 12:
print("Adolescente!")
Ejemplo 6: Uso de condiciones múltiples
En Python, puedes comprobar múltiples condiciones usando los operadores lógicos and, or.
# Python program showing
# a use of multiple conditions
age = 258
if age <= 100 and age >= 18:
print("Edad en el rango permitido!")
else:
print("Edad fuera del rango permitido!")
Ejemplo 7: La declaración pass
En Python, el bloque de una estructura de control no puede estar vacío. Si necesitas una estructura de control con un bloque vacío, puedes usar la declaración pass. Aquí hay un ejemplo.
# Python program showing
# a use of pass
score = 14
work_experience = 7
if score >= 15:
print("Eres apto para el trabajo.")
elif score < 15 and work_experience >= 5:
# This block is intentionally left empty
pass
else:
print("No eres apto para el trabajo.")
En este ejemplo de código, no pasa nada cuando la puntuación es inferior a 15 y la experiencia laboral es mayor o igual a 5. Esto se debe a la declaración pass en el bloque elif, que en esencia no hace nada.
Ejemplo de Calculadora con Estructuras de Control
Calculadora Básica
En este ejemplo, crearemos una calculadora básica en Python utilizando estructuras de control para realizar operaciones matemáticas simples como suma, resta, multiplicación y división.
def suma(a, b):
return a + b
def resta(a, b):
return a - b
def multiplicacion(a, b):
return a * b
def division(a, b):
return a / b
operacion = input("¿Qué operación desea realizar? (suma, resta, multiplicación, división): ")
if operacion == "suma":
num1 = float(input("Introduce el primer número: "))
num2 = float(input("Introduce el segundo número: "))
resultado = suma(num1, num2)
print(f"El resultado de la suma es: {resultado}")
elif operacion == "resta":
num1 = float(input("Introduce el primer número: "))
num2 = float(input("Introduce el segundo número: "))
resultado = resta(num1, num2)
print(f"El resultado de la resta es: {resultado}")
elif operacion == "multiplicación":
num1 = float(input("Introduce el primer número: "))
num2 = float(input("Introduce el segundo número: "))
resultado = multiplicacion(num1, num2)
print(f"El resultado de la multiplicación es: {resultado}")
elif operacion == "división":
num1 = float(input("Introduce el numerador: "))
num2 = float(input("Introduce el denominador: "))
if num2 != 0:
resultado = division(num1, num2)
print(f"El resultado de la división es: {resultado}")
else:
print("No se puede dividir entre cero.")
else:
print("Operación inválida. Por favor, introduce una de las opciones disponibles.")
Calculadora Científica
En este ejemplo, ampliamos nuestra calculadora para incluir operaciones matemáticas más avanzadas como potencias y raíces cuadradas.
import math
def potencia(base, exponente):
return math.pow(base, exponente)
def raiz_cuadrada(numero):
return math.sqrt(numero)
operacion = input("¿Qué operación desea realizar? (suma, resta, multiplicación, división, potencia, raíz cuadrada): ")
if operacion == "suma":
# código de suma
pass
elif operacion == "resta":
# código de resta
pass
elif operacion == "multiplicación":
# código de multiplicación
pass
elif operacion == "división":
# código de división
pass
elif operacion == "potencia":
base = float(input("Introduce la base: "))
exponente = float(input("Introduce el exponente: "))
resultado = potencia(base, exponente)
print(f"El resultado de la potencia es: {resultado}")
elif operacion == "raíz cuadrada":
numero = float(input("Introduce el número: "))
resultado = raiz_cuadrada(numero)
print(f"El resultado de la raíz cuadrada es: {resultado}")
else:
print("Operación inválida. Por favor, introduce una de las opciones disponibles.")