Los números desempeñan un papel crucial en la programación, ya sea para llevar la puntuación en juegos, representar datos en visualizaciones, almacenar información en aplicaciones web, entre otras funciones. Python, un lenguaje versátil, aborda los números de varias maneras según su uso específico. Comencemos explorando cómo Python maneja los números enteros, ya que son los más sencillos de trabajar.
Números enteros (int) en Python
En Python, los enteros (integer) son fundamentales. Puedes asignar un valor a una variable y crear un entero. Este tipo de dato es utilizado para representar números sin decimales, y Python facilita operaciones aritméticas intuitivas.
# Ejemplo de Enteros en Python
numero_entero = 10
resultado = numero_entero + 5
print(resultado) # Salida: 15
Para esta clase haré un archivo numbers.py en la carpeta del curso.
Números de punto flotante (floats)
Además de los enteros, Python admite números de punto flotante (floats) para representar valores con decimales. Es importante entender cómo se comportan en operaciones.
# Ejemplo de Floats en Python
numero_float = 3.14
resultado = numero_float * 2
print(resultado) # Salida: 6.28
Operaciones entre números enteros y floats
Python facilita operaciones mixtas entre enteros y floats, convirtiendo automáticamente el resultado al tipo de dato más complejo (float).
# Ejemplo de Operaciones Mixtas
entero = 5
flotante = 2.5
resultado = entero * flotante
print(resultado) # Salida: 12.5
Underscores en números y asignación múltiple
Puedes mejorar la legibilidad de los números utilizando guiones bajos. Cuando imprime un número que se definió usando guiones bajos, Python imprime solo los dígitos. Además, la asignación múltiple permite asignar valores a varias variables en una sola línea.
# Ejemplo de Underscores y Asignación Múltiple
numero_grande = 1_000_000
a, b = 5, 10
Conversión de string a integer
En ocasiones, es necesario convertir números representados como cadenas a enteros. En ocasiones, es necesario convertir números representados como cadenas a enteros. Python proporciona la función int()
para realizar esta conversión.
# Ejemplo de Conversión de String a Integer
cadena_numero = "123"
numero_entero = int(cadena_numero)
print(numero_entero) # Salida: 123
Es importante notar que esto puedes hacerlo solo con cadenas de texto que sean números, si intentas hacerlo con letras te va a dar un error.
La función int() sirve para convertir a integer (número entero), str() sirve para convertir a cadena de texto, o string, float() para convertir a número decimal o de punto flotante y bool() para convertir a booleano (True o False).
Calculadora simple con Python
Vamos a poner en práctica lo que hemos estudiado hasta ahora y haremos un pequeño programita que nos permitirá calcular las operaciones básicas (suma, resta, multiplicación y división) con código y para dos números. Iniciamos con dos variables numero1 y numero2 y usaremos la función input() para pedirle datos al usuario.
# Calculadora simple (sin funciones)
numero1 = input("Escribe el primer número: ")
numero2 = input("Escribe el segundo número: ")
print(numero1, numero2)
Así como está, nuestro programa no convierte los valores de strings, que así vienen por defecto en la función input(), a integer.
Antes de sumar los números tenemos que convertirlos a int para que haga la operación en lugar de concatenar dos cadenas de texto. Con esto en mente haré un pequeño cambio en nuestro programa.
# Calculadora simple (sin funciones)
numero1 = input("Escribe el primer número: ")
numero2 = input("Escribe el segundo número: ")
numero1 = int(numero1)
numero2 = int(numero2)
print(numero1 + numero2)
Ppor ahora estoy obviando muchas cosas, como la gestión de errores, eso lo veremos más adelante.
Por ahora voy a hardcodear las operaciones, cuando veamos funciones te enseñaré una forma más «dinámica» de gestionar esto.
# Calculadora simple (sin funciones)
numero1 = input("Escribe el primer número: ")
numero2 = input("Escribe el segundo número: ")
numero1 = int(numero1)
numero2 = int(numero2)
suma = numero1 + numero2
resta = numero1 - numero2
multiplicacion = numero1 * numero2
division = numero1 / numero2
print(f"Dados los números {numero1} y {numero2}.")
print(f"El valor de suma es: {suma}")
print(f"El valor de la resta es: {resta}")
print(f"El valor de la multiplicación es: {multiplicacion}")
print(f"El valor de la división es: {division}")
Genero nuevas variables para la suma, la resta, la multiplicación y la división. Después de obtener estos valores, los uso en mi mensaje al usuario con f-strings para interpolar las variables en el texto.