Operadores en Python 3

En este artículo vamos a hablar sobre los operadores en Python, los lógicos o booleanos con su tabla de verdad, además de también ver los distintos operadores reservados.

¿Qué son los operadores? Los operadores son símbolos utilizados por el propio lenguaje para llevar a cabo los diferentes tipos de operaciones entre uno o varios operandos. Un operando puede ser por ejemplo un elemento en sí.

Tabla de verdad

La tabla de verdad es una estrategia que nos permite analizar cualquier fórmula y encontrar sus valores de verdad, para cada combinación que se pueda asignar.

Según las variables lógicas A y B la tabla de verdad sería la siguiente.

AB
TrueTrue
FalseFalse

Operadores lógicos

Los operadores lógicos devuelven un valor del tipo de dato booleano, es decir, verdadero o falso según se cumpla una condición o no. Los operadores lógicos en Python son tres: not, and y or.

Negación not

Este operador de negación devuelve el valor opuesto de la entrada, es decir, si A es verdadero, not A es falso y así, a la inversa.

Anot A
TrueFalse
FalseTrue

Si trasladamos los valores de verdad de la tabla a Python, el resultado de las diferentes combinaciones del operador de negación not sería el siguiente:

A  = True
not A
# Salida
False
B = False
not B
# Salida
True

Conjunción and

La conjunción AND devuelve verdadero únicamente cuando todas sus entradas son verdadero sino, su salida será falso.

ABA and B
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

En el siguiente ejemplo vamos a evaluar en Python si los dos valores de las variables A y B se cumplen:

# Las dos variables valen lo mismo
A, B = True, True
A and B
# Salida
True

El resultado ha sido verdadero porque se cumplen las condiciones, en el caso de que una de las variables no hubiese tenido el mismo valor, el resultado sería False.

Disyunción or

La disyunción OR produce una salida inversa al operador lógico AND, es decir, su salida será únicamente False si todas sus entradas lo son.

ABA or B
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Esta disyunción entre dos variables lógicas se consigue en Python de la siguiente forma:

A, B = False, False
(not A) or B
# Salida
True

Operadores relacionales

Los operadores relacionales en Python se utilizan para comparar dos o más valores cuyo resultado es siempre True o False.

OperadorDescripción
>Mayor que.
>=Mayor o igual que.
<Menor que.
<=Menor o igual que.
==Igual que.
!=Diferente.

Un ejemplo utilizando operadores relacionales es el siguiente:

a = 7
b = 8
a > b
# Salida
False

Operadores aritméticos

Los operadores aritméticos devuelven un valor numérico cuyo resultado procede del resultado de una serie de operaciones matemáticas.

OperaciónOperadorExpresión
Suma+a + b
Restaa - b
Multiplicación*a * b
División /a / b
División entera //a // b
Exponencialmente**a ** b
Módulo%a % b

Operadores aritméticos con asignación

En programación incrementar el valor de una variable es muy común. Veamos cómo Python puede hacerlo por medio de los operadores aritméticos y de asignación vistos anteriormente.

a += 1      # Equivale a: a + 1
b += 0.10   #      "    : b + 0.10
c -= 1      #      "    : c - 1  

Ejercicios resueltos

No quiero terminar este artículo sin dejar un par de ejercicios resueltos para que puedas poner en práctica y así, empieces a utilizar la lógica para crear tus propios programas.

Analiza si el número es par o impar.

En este ejercicio vamos a utilizar el operador lógico de negación not, donde si la negación se cumple su salida será un número primo, de lo contrario, será un número par.

# Entrada de teclado
a = int(input('Número: '))

# Cálculo
if not(a % 2 == 0):
    print('El {} es impar'.format(a))
else:
    print('El {} es par'.format(a))

Contador con límite

Si vienes de otro lenguaje de programación estarás familiarizado con los condicionales y bucles, si no es tu caso, puedes seguir con el tutorial y dejar este ejercicio para más adelante.

En esta práctica que es un contador básico utilizamos operadores lógicos, relacionales y aritméticos de asignación.

# Entrada de teclado
count = int(input('Cuenta desde: '))

# Cuenta del 1 al 20, luego corta
for num in range(count):
    num += 1
    if num >= 0 and num <= 20:
        print(num)
    else:
        break

Conclusión

En este artículo hemos visto los distintos tipos de operadores y datos lógicos, también hemos puesto en práctica nuestras habilidades con un ejercicio final del que podrás copiar y utilizarlo de base, o si lo prefieres, adaptarlo según tu criterio.

¿Te ha parecido útil?