Operadores aritméticos y lógicos
Contents
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:
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 |
---|---|---|---|
|
Regresa verdadero si el valor de las izquierda y el de la derecha son verdaderos |
(3<4) and (5>1) |
True |
|
Regresa verdadero si uno de los dos valores a(izquierda o derecha es verdadero, o ambos |
(3>4) or (5<1) |
False |
|
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:
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