Operadores de Python para la toma de decisiones

PythonBeginner
Practicar Ahora

Introducción

En este laboratorio, practicarás el uso de diferentes tipos de operadores en Python. Específicamente, trabajarás con operadores de comparación, operadores booleanos y operadores de mezcla. Al final de este laboratorio, serás capaz de utilizar estos operadores para tomar decisiones y realizar cálculos en tu código Python.

Logros

  • Operadores de comparación en Python
  • Operadores booleanos en Python
  • Operadores de mezcla en Python

Operadores de comparación

En este paso, aprenderás a utilizar operadores de comparación en Python. Los operadores de comparación te permiten comparar dos valores y determinar si son iguales, mayores o menores entre sí. Para comenzar, abre la terminal y el intérprete de Python:

python3

Luego, intenta utilizar los siguientes operadores de comparación:

## Igual a
print(1 == 1)  ## True
print(1 == 2)  ## False

## No igual a
print(1 != 1)  ## False
print(1 != 2)  ## True

## Mayor que
print(1 > 2)  ## False
print(2 > 1)  ## True

## Menor que
print(1 < 2)  ## True
print(2 < 1)  ## False

## Mayor o igual que
print(1 >= 2)  ## False
print(2 >= 1)  ## True
print(1 >= 1)  ## True

## Menor o igual que
print(1 <= 2)  ## True
print(2 <= 1)  ## False
print(1 <= 1)  ## True

Puedes utilizar operadores de comparación para comparar números enteros, flotantes y cadenas. Por ejemplo:

print(1.0 == 1)  ## True
print(1.5 > 1)  ## True
print("a" < "b")  ## True

Intenta utilizar operadores de comparación para comparar diferentes valores en Python. ¿Puedes determinar qué valores son iguales, mayores o menores entre sí?

Operadores booleanos

En este paso, aprenderás a utilizar operadores booleanos en Python. Los operadores booleanos te permiten combinar múltiples comparaciones utilizando and (y), or (o) y not (no) lógicos. Para comenzar, intenta utilizar los siguientes operadores booleanos:

## Lógico and
print(True and True)  ## True
print(True and False)  ## False
print(False and True)  ## False
print(False and False)  ## False

## Lógico or
print(True or True)  ## True
print(True or False)  ## True
print(False or True)  ## True
print(False or False)  ## False

## Lógico not
print(not True)  ## False
print(not False)  ## True

Puedes utilizar operadores booleanos para combinar múltiples comparaciones y crear condiciones más complejas. Por ejemplo:

## Comprobar si x es mayor que y y z es menor que y
x = 5
y = 10
z = 15
print(x > y and z < y)  ## False

## Comprobar si x es mayor que y o z es menor que y
print(x > y or z < y)  ## False

## Comprobar si x no es igual a y
print(x != y)  ## True

Intenta utilizar operadores booleanos para combinar múltiples comparaciones en Python. ¿Puedes crear condiciones complejas que se evalúen como True o False?

Operadores de mezcla

En este paso, aprenderás a utilizar operadores de mezcla en Python. Los operadores de mezcla te permiten combinar operadores de comparación y booleanos para crear condiciones aún más complejas. Para comenzar, intenta utilizar los siguientes operadores de mezcla:

## Comprobar si x es mayor que y y menor o igual que z
x = 5
y = 10
z = 15
print(y < x <= z)  ## False

## Comprobar si x no es mayor que y y no es menor o igual que z
print(not (y < x <= z))  ## True

Puedes utilizar operadores de mezcla para crear condiciones que son más difíciles de entender a primera vista. Es importante utilizar paréntesis para indicar claramente el orden de las operaciones.

## Comprobar si x es mayor que y y (z es menor que y o z es igual a x)
x = 5
y = 10
z = 15
print(x > y and (z < y or z == x))  ## False

Intenta utilizar operadores de mezcla para crear condiciones complejas en Python. ¿Puedes utilizar operadores de comparación y booleanos juntos para crear condiciones que reflejen con precisión la lógica que deseas?

Operador morsa (Walrus Operator)

El operador morsa, :=, es una nueva característica introducida en Python 3.8 que te permite asignar valores a variables dentro de una expresión. El operador funciona utilizando la misma sintaxis que el operador de asignación, =, pero aparece en el lado izquierdo de una expresión.

Aquí hay algunos ejemplos de código para mostrarte cómo utilizar el operador morsa.

Ejemplo 1

## Encontrar el primer número par en una lista usando el operador morsa
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if (even := num % 2 == 0):
        print(f"El primer número par es: {even}")
        break

## Salida:
## El primer número par es: True

Este ejemplo demuestra cómo utilizar el operador morsa para encontrar el primer número par en una lista. La lista numbers contiene números enteros del 1 al 10. En el bucle for, iteramos a través de la lista numbers y utilizamos el operador morsa := para asignar el resultado de la expresión num % 2 == 0 a la variable even. Si even es True, significa que num es un número par. En este caso, la sentencia if se cumple y el primer número par se imprime junto con un mensaje. La sentencia break se utiliza para detener el bucle cuando se encuentra el primer número par.

Ejemplo 2

## Usando el operador morsa en un bucle while
counter = 0
while (counter := counter + 1) <= 10:
    print(counter)

## Salida:
## 1
## 2
## ……
## 10

En este ejemplo, utilizamos el operador morsa en un bucle while. La variable counter se inicializa en 0 y el bucle while continúa ejecutándose mientras counter sea menor o igual a 10. En cada iteración del bucle, el operador morsa se utiliza para actualizar el valor de counter incrementándolo en 1. El valor actualizado de counter se utiliza luego en la siguiente iteración del bucle. El bucle imprime el valor de counter en cada iteración, lo que resulta en la impresión de los números del 1 al 10.

Ejemplo 3

## Usando el operador morsa en una comprensión de lista
squared_numbers = [num * num for num in range(10) if (even := num % 2 == 0)]
print(squared_numbers)

## Salida:
## [0, 4, 16, 36, 64]

En este ejemplo, utilizamos el operador morsa en una comprensión de lista. La comprensión de lista se utiliza para crear una lista de los cuadrados de los números pares del 0 al 9. La comprensión de lista consta de dos partes: una expresión num * num y una cláusula condicional if (even := num % 2 == 0). La expresión num * num calcula el cuadrado del número actual en el bucle num. La cláusula condicional utiliza el operador morsa para asignar el resultado de la expresión num % 2 == 0 a la variable even. Si even es True, significa que num es un número par y su cuadrado se incluye en la lista squared_numbers. La comprensión de lista genera la lista [0, 4, 16, 36, 64].

Es importante tener en cuenta que el operador morsa está destinado a ser utilizado en casos específicos donde necesitas asignar un valor dentro de una expresión y utilizar ese mismo valor varias veces. No está destinado a reemplazar las sentencias de asignación tradicionales, y se recomienda utilizarlo con moderación para mejorar la legibilidad del código.

Resumen

En este laboratorio, aprendiste a utilizar operadores de comparación, operadores booleanos y operadores de mezcla en Python. Puedes utilizar estos operadores para tomar decisiones y realizar cálculos en tu código. Practica el uso de estos operadores para volverte más competente con ellos.