Curso de Python básico – 04. Operadores aritméticos

Los operadores aritméticos resultan esenciales para darle operatividad al código que redactemos en Python.

En Python podemos utilizar los operadores aritméticos para realizar operaciones matemáticas con los valores (datos) numéricos, ya sean enteros o de coma flotante. Así, formaremos expresiones aritméticas en las que los datos se representarán de forma literal y/o mediante las variables que los contienen.

Pero empecemos viendo la tabla que contiene a los operadores aritméticos más comunes:

SímboloNombreOperación
+SumaSuma dos valores numéricos
-RestaResta dos valores numéricos
*MultiplicaciónMultiplica dos valores numéricos
/DivisiónDivide un valor numérico entre otro
**ExponenteEleva un valor numérico a la potencia de otro
%MóduloNos devuelve el resto de la división de un valor numérico entre otro
//División enteraNos devuelve la parte entera de la división de un valor numérico entre otro

Algunos ejemplos de demostración

Tras analizar la tabla, comprenderemos mejor el uso de estos operadores por medio de unos ejemplos.

En primer lugar, veamos un caso en el que se emplean los operadores de la suma y de la resta:

numero1 = 9
numero2 = 5
numero3 = numero1 + numero2
numero4 = numero1 - numero2

En el código anterior podemos comprobar cómo el resultado de una operación aritmética puede almacenarse en una variable. Aunque, también, puede imprimirse directamente por consola, como se muestra en las siguientes líneas de código:

valor = 20
print (valor + 15)

Con lo que se mostrará por consola el valor: 35.

A continuación, veamos un ejemplo del uso de los operadores de multiplicación, de división y de exponente:

valor1 = 10
valor2 = 2
multiplica = valor1 * valor2
print (multiplica)
divide = valor1 / valor2
print (divide)
print (valor1 ** valor2)

La ejecución de este código mostrará por pantalla:

20
5
100

Tras esta explicación, resulta muy fácil intuir cómo se utilizan los operadores módulo y de división entera:

dividendo = 10
divisor = 3
print (dividendo // divisor)
print (dividendo % divisor)

Lo que imprimirá los valores:

3
1

Precedencia de los operadores aritméticos

Como es razonable suponer, los operadores aritméticos pueden usarse de forma combinada dentro de una misma expresión. En este caso, al igual que los ejemplos vistos hasta ahora, el resultado de las operaciones combinadas podrá mostrarse directamente por pantalla, con la función print (), o almacenarse en una variable.

Ejemplo:

print (3 + 4 - 6)

La función anterior imprimirá: 1.

Sin embargo, cuando utilicemos los operadores aritméticos de forma combinada, debemos considerar que unos tienen prioridad sobre otros y, por poner un ejemplo, nos encontraremos con que las operaciones de multiplicación y/o de división se ejecutan antes que las de suma y/o resta.

El operador con mayor precedencia es el operador exponente. son los de potenciación. A continuación, es un escalón inferior de precedencia, tendremos a los operadores de multiplicación, de división, de división entera y módulo. Por último, con una precedencia aún menor, nos encontramos con los operadores de suma y de resta.

Cuando una expresión aritmética esté formada por operadores con la misma precedencia estos se ejecutarán de izquierda a derecha. Así:

print (10 - 5 + 8)

Imprimirá 13, pues primero se realizará la resta y después la suma. Por el contrario, analizando el siguiente código:

print (10 - 5 * 8)

Vemos que muestra por consola -30, ya que primero realiza la multiplicación (al tener mayor precedencia) y después resta a 10 el producto.

La pregunta es: ¿podemos alterar el orden en el que se realizan las operaciones de una expresión aritmética?

Naturalmente que sí, pues basta con recurrir al uso de los paréntesis, que nos ayudarán a dar prioridad a la operación aritmética encerrada entre ellos. Para demostrarlo, modifiquemos el ejemplo anterior encerrando a la resta con los paréntesis:

print ((10 - 5) * 8)

En este caso, se imprimirá por pantalla 40, ya que primero se realizará la resta y después se multiplicará el resultado por 8.

El operador de concatenación

El operador de la suma + tiene un comportamiento distinto cuando lo utilizamos entre cadenas de texto (entre datos del tipo String). En situaciones como la descrita, pasa a ser un operador de concatenación, que unificará las cadenas en una sola, que será la sucesión de las que se unieron.

El siguiente código nos ayudará a comprenderlo:

cadena1 = "Hoy hace "
cadena2 = "un bonito día "
cadena3 = cadena1 + cadena2
print (cadena3 + "para pasear")

Tras ejecutarlo, veremos que se muestra por pantalla el texto:

Hoy hace un bonito día para pasear

Es muy importante destacar que al final de las cadenas de texto, asignadas a las variables cadena1 y cadena2, hemos dejado un espacio en blanco, para evitar que la concatenación produjese como resultado:

Hoy haceun bonito díapara pasear

Al igual que ocurría con las expresiones aritméticas, el resultado de una concatenación de cadenas de texto puede almacenarse en una variable o imprimirse directamente por consola:

cadena = "La casa está " + "muy bien situada"
print (cadena)
print ("Y en un barrio muy céntrico")

El código anterior imprimirá:

La casa está muy bien situada
Y en un barrio muy céntrico

Lo que no podremos hacer, ya que nos daría un mensaje de error que detendría nuestro programa, es intentar concatenar una cadena de texto con un valor numérico (sea entero o de coma flotante). En casos como éste, debemos convertir el dato numérico al tipo String, para lo que emplearemos una de las funciones que viene con Python y que estudiaremos en la lección siguiente de este curso.

También tenemos que recordar que una cadena de texto puede estar formada sólo por dígitos, por lo que no tenemos que confundirla con un dato de tipo numérico. Cuando concatenemos dos cadenas de dígitos, obtendremos como resultado una cadena que será la unión de ambas, no la suma.

Este ejemplo nos facilitará la comprensión de lo que acabamos de explicar:

print ("123" + "456")

Se imprimirá por consola:

123456

Ejercicios prácticos

Ejercicio 1:

Crea un programa que almacene en una variable el precio de un producto y en otra el resultado de aplicar a ese precio un descuento del 30%. Después el programa mostrará por consola el nombre del producto, su precio original y el precio tras aplicársele el descuento.

Ejercicio 2:

Deberás redactar un código que muestre por pantalla el resultado de la concatenación de cuatro cadenas, dos literales y otras dos almacenadas en variables.

Deja un comentario