Existen principalmente dos tipos de datos numéricos en Python:
- Los enteros. Pueden ser positivos, negativos o el cero.
- Los flotantes, que permiten almacenar datos decimales.
Con este tipo de datos, se pueden efectuar operaciones que normalmente se almacenarán en una variable, la cual pasará a contener un dato tipo entero o tipo flotante.
Operaciones con datos numéricos. Además de las operaciones básicas (suma, resta, multiplicación o división), con los datos tipo numéricos se pueden hacer otras operaciones:
- // Es la división entera. Divide dos datos de tipo numérico. Su resultado es un entero, o un decimal cuyos decimales son 0. Es importante tener en cuenta, que el redondeo a entero siempre es al menor valor posible. Si el resultado es un decimal negativo, el redondeo se efectua al decimal negativo más bajo (en este caso se corresponde con el valor absoluto mayor).
- ** Es la potencia de un número a otro. El número a la izquierda del operador se multiplica por sí mismo las veces que indica el número situado a la derecha del operador.
- Para averiguar la raíz cuadrada, podemos utilizar el mismo operador que para la potencia. Como número situado a la derecha del operador, pondremos ½ (si queremos raíz cuadrada), 1/3 (para raíz cúbica) …Un detalle muy importante, es que la fracción la debemos de encerrar entre paréntesis, para que primero se efectúe la división y luego la potencia.
- % Es el operador módulo. Entre número positivos, representa el resto de la división de los dos números. Si alguno de los dos números es de tipo decimal, el resultado será también un resto decimal. Debemos de tener en cuenta, que entre números negativos la división modular ofrece resultados que pueden parecernos diferentes a la división modular entre dos números positivos. Importante: no confundir con el tanto por ciento.
En una operación con varios operadores, se guarda en orden establecido de las operaciones matemáticas. Primero se efectúan los paréntesis, luego las raíces y potencias, luego multiplicaciones y divisiones, y por último las sumas y restas. Siempre de izquierda a derecha.
a=-5
b=25
c=14
d=3
print(a+b-c*d)
print(b/a) ## El resultado de una división, siempre será un decimal.
print(b//d) ## División entera.
print(a**d) ## Potencia.
print(b**(1/2)) ## Raiz cuadrada.
print(14%3) ## Módulo (El resto de la división)
print(a//d) ## Como el resultado sería -1.6666, se redondea a -2 (el menor entero).-22
-5.0
8
-125
5.0
2
-2Cuando a una variable numérica se le suma, resta, divide o multiplica por un número, y el resultado lo queremos asignar como valor de la misma variable, podemos usar los operadores “+=” “-=” “*=” “/=”
a=400
a+=3
print(a)
a-=2
print(a)
a*=4
print(a)
a/=5
print(a)
403
401
1604
320round (número, decimales) . Con esta función podemos redondar el número (o variable) indicado como primer argumento, a los decimales que se indican en el segundo argumento. El redondeo puede ser hacia arriba o hacia abajo, dependiendo de qué decimal esté más cercano del número real. Los decimales menores o iguales a 5, se desprecian. Los mayores a 5 son redondeados a su decimal más cercano.
kilometros = 12.25
millas = 7.02
millas_a_kilometros = millas*1.61
kilometros_a_millas = kilometros/1.61
print(millas, "millas son", millas_a_kilometros,"kilómetros")
print(kilometros, "kilómetros son",kilometros_a_millas,"millas")
print(millas, "millas son", round(millas_a_kilometros,3), "kilómetros")
print(kilometros, "kilómetros son", round(kilometros_a_millas, 3), "millas")7.02 millas son 11.3022 kilómetros
12.25 kilómetros son 7.608695652173912 millas
7.02 millas son 11.302 kilómetros
12.25 kilómetros son 7.609 millasEs posible averiguar el factorial de un número mediante la función
math.factorial(numero). Esta función debe ser importada previamente del módulo math
import math
print(math.factorial(8))Resultado
40320str (numero) . Esta función nos devuelve una cadena a partir del número pasado como argumento.
numero1=8
numero2=14
c=numero1+numero2
print(f"La suma de los números es {c}.")
cadena1=str(numero1)
cadena2=str(numero2)
suma_cadenas=cadena1+cadena2
print("La suma de las cadenas es: "+suma_cadenas+".")La suma de los números es 22.
La suma de las cadenas es: 814.int (cadena) . Con esta función se convierte una cadena en un dato numérico entero.
cadena1="348"
cadena2="43"
suma_cadenas=cadena1+cadena2
print("La suma de las cadenas es: "+suma_cadenas+".")
entero1=int(cadena1)
entero2=int(cadena2)
c=entero1+entero2
print(f"La suma de los números es {c}.")La suma de las cadenas es: 34843.
La suma de los números es 391.float (cadena) . Muy parecida a la anterior, convierte una cadena en un dato numérico tipo float (decimal).
cadena1="0.23"
cadena2="6.789"
suma_cadenas=cadena1+cadena2
print("La suma de las cadenas es: "+suma_cadenas+".")
flotante1=float(cadena1)
flotante2=float(cadena2)
c=flotante1+flotante2
print(f"La suma de los números es {c}.")
cadena1="0.23"
cadena2="6.789"
suma_cadenas=cadena1+cadena2
print("La suma de las cadenas es: "+suma_cadenas)
flotante1=float(cadena1)
flotante2=float(cadena2)
c=flotante1+flotante2
print(f"La suma de los números es {c}")La suma de las cadenas es: 0.236.789
La suma de los números es 7.019Debemos tener cuidado al utilizar estados dos funciones, ya que, si intentamos obtener un entero o un float de una cadena que no puede transformarse en entero o en float, al ejecutar el código obtendremos un error de código.
cadena1="0.23"
numero=int(cadena1)
print(numero)ValueError: invalid literal for int() with base 10: '0.23'
