Operadores aritméticos y lógicos#

Suma de variables y concatenación de variables#

Python es tan sencillo e intuitivo, que es posible sumar diferentes variables y sumarlas con el símbolo +. Cuando las variables son numéricas, se suman matemáticamente y cuando son texto se concatenan. Revise cuidadosamente el siguiente ejemplo.

# Sumar dos textos

x = "Python es "; 
y = "asombroso";
z =  x + str(y);
print(z);

# Sumar dos números

n1 = 1;
n2 = 5;
suma = n1 + n2;
print('suma =', suma);

# Escribir texto y números
print(x+"el número",n1);
Python es asombroso
suma = 6
Python es el número 1

En el apartado anterior es claro que usamos dos tipos de variables unas textuales y otras numéricas, profundicemos en estos temas.

Operadores Aritméticos y redondeo#

La fortuna de que Python reconozca variables numéricas nos permite usarlo como una calculadora simple. Por ejemplo, podemos ejecutar operaciones muy sencillas teniendo en cuenta la siguiente tabla:

Operador

Descripción

+

Suma

-

Resta

*

Multiplicación

/

División

**

Potencia

%

Módulo

La operación módulo consiste en encontrar el residuo de dividir un número entero positivo entre otro. Por ejemplo, el residuo de dividir 5 entre 2 es 1, como ilustra la siguiente línea de código.

5%2
1

Precedencia de operadores aritméticos#

Con el propósito que el interpretador de Python pueda traducir exitosamente una expresión numérica, existen reglas de precedencia en el orden ejecución de las operaciones. Estas reglas son comunes a todos los lenguajes de programación. La siguiente tabla muestra la procedencia, es decir, el orden en el cual se ejecutan las operaciones aritméticas en una expresión numérica.

Precedencia

Operadores

0

(...)

1

**

2

%

3

*, /

4

+, -

Si queremos operar por ejemplo la expresión:

\[ 5\times(3-5)^2-\cfrac{6}{9^{1/2}}\]

tenemos que escribir:

5*(3-5)**2 - 6/9**(1/2)
18.0

Recuerde oprimir [Shift]+[Enter] para ejecutar la sentencia.

El cálculo ocurre de la siguiente forma

  • (1/2) -> 0.5

  • (3-5) -> -2

  • (3-5)**2 -> (-2)**2 -> 4

  • 9**(1/2) -> 9**0.5 -> 3

  • 5*(3-5)**2 -> 5 * 4 -> 20

  • 6/9**(1/2) -> 6/3 -> 2

  • 5*(3-5)**2 - 6/9**(1/2) -> 20 - 2 -> 18

Ejercicio#

Es muy importante usar bien los paréntesis, el uso o desuso puede generar problemas graves en las cuentas, encuentre el error y describa lo que hizo Python en los siguientes casos respecto a la operación anterior:

5*3-5**2-(6)/(9**(1/2))
-12.0
5*(3-5)**2-6/(9**1/2)
18.666666666666668
5*(3-5)**2-6/9**1/2
19.666666666666668
5*3-5**2-6/9**1/2
-10.333333333333334

Operadores de comparación#

Operador

Descripción

Ejemplo

Resultado

==

Prueba si dos valores son iguales

3==3

True

!=

Prueba si dos valores no son iguales entre si

2!=3

True

<

Prueba si el valor de la izquierda es menor que el de la derecha

4<3

False

>

Prueba si el valor de la izquierda es mayor que el de la derecha

4>3

True

<=

Prueba si el valor de la izquierda es menor o igual que el de la derecha

4<=3

False

>=

Prueba si el valor de la izquierda es mayor igual que el de la derecha

4>=3

True

Operadores Lógicos#

Operador

Descripción

Ejemplo

Resultado

and

Regresa verdadero si el valor de las izquierda y el de la derecha son verdaderos

(3<4) and (5>1)

True

or

Regresa verdadero si uno de los dos valores a(izquierda o derecha es verdadero, o ambos

(3>4) or (5<1)

False

not

Regresa verdadero si el valor que se esta evaluado es falso

not (3>2)

False

Ejercicio#

Verifique que entiende que hace el siguiente código. ¿Cuál es la salida?

edad = 15
status = None

if (edad >12) and (edad<20):
    status = 'adolecente'
else:
    status = 'no adolecente'

print('status =', status)
status = adolecente

División y residuo entre enteros#

La división es una operación bien especial pues la mayoría de ocasiones produce un número con parte fraccionaria. Sin embargo, cuando estábamos pequeños nos enseñaron a dividir enteros dando como respuesta un entero llamado cociente y lo que hacia falta para completar la división, un número llamado residuo. En Python podemos calcular esos valores con // para el cociente y %para el residuo. Por ejemplo, sabemos que:

\[ 20 \div 3 = 6, \ \ \ \text{ con residuo } 2.\]

Tenemos que en Python se escribe la división entre enteros como

20//3
6

y el residuo de la división, es decir la operación módulo como

20%3
2

Resultados con números complejos#

Revise la siguiente línea y asegúrese que la entiende. Si tiene dudas consulte al instructor.

3+(-4)**(1/2) # Recordemos un poquito de nuestras matemáticas
(3+2j)

Redondeo de números reales#

Finalmente, una función elemental y útil para el tratamiento de números decimales es round. La usamos para redondear los valores reales con el número de decimales que escojamos. Por defecto el redondeo quita todas la cifras decimales. Por favor revise los siguientes dos ejemplos y haga sus pruebas propias.

# Cálculo original
n1=47/3
print(n1)
15.666666666666666
# Redondea sin cifras decimales
n2=round(n1)
print(n2)
16
# Redeondeo con tres cifras decimales
n3=round(n1,3)
print(n3)
15.667

Ejercicio#

Use la función round() para redondear el número \(\pi\) hasta 5 cifras decimales.

Pista: Para poder usar el número \(\pi\), use el siguiente código:

# importando el número pi

from math import pi


# visualizar pi
print(pi)

# Your code here
print(round(pi,5))
3.141592653589793
3.14159