Resumen

Aprende a manejar números en Python con precisión: identifica tipos con type, convierte con float, int y complex, y genera aleatorios con random.randrange. Con estos fundamentos evitarás pérdidas de datos por truncado y entenderás por qué el límite superior no se incluye.

¿Qué tipos de números en Python y cómo identificarlos?

Python trabaja con enteros, flotantes y complejos. Los enteros y flotantes aceptan valores positivos y negativos, y los complejos usan la letra j para la parte imaginaria. La función type permite verificar el tipo exacto.

  • Enteros y flotantes: positivos y negativos.
  • Complejos: parte real y parte imaginaria con j.
  • Verificación de tipo con type.
  • Nombres en inglés: integer, float y complex.
# Tipos numéricos y verificación
x = 1          # entero
y = 2.5        # flotante
z = 5 + 1j     # complejo (parte real 5, parte imaginaria 1j)

print(type(x))  # 
print(type(y))  # 
print(type(z))  # 

¿Cómo se representan los complejos en Python?

  • La parte real se escribe normal y la imaginaria con j.
  • Ejemplos válidos: 5 + 1j, -5 - 1j.
  • Se aceptan combinaciones con signos positivos y negativos.

¿Cómo castear números sin perder datos?

El casteo obliga a una variable a comportarse como otro tipo. Pasar de entero a flotante agrega la parte decimal .0. Pasar de flotante a entero trunca el valor, lo cual puede ser riesgoso si trabajas con datos sensibles.

# Entero a flotante: agrega .0
x = 1
xf = float(x)
print(type(xf))  # 
print(xf)        # 1.0

# Flotante a entero: trunca
y = 2.5
ye = int(y)
print(type(ye))  # 
print(ye)        # 2  # cuidado: se pierde la parte decimal

¿Qué precauciones tomar al convertir tipos?

  • De float a int se pierde información por truncado.
  • Evita castear a entero si el decimal importa.
  • Verifica con type antes y después del casteo.

¿Cómo trabajar con complejos y convertir desde int o float?

Se puede convertir de entero y flotante a complejo usando complex. La parte imaginaria se completa con 0j por defecto. El camino inverso (de complejo a entero o flotante) no está disponible.

entero = 5
flotante = 5.5

entero_complejo = complex(entero)
flotante_complejo = complex(flotante)

print(entero_complejo, type(entero_complejo))     # (5+0j) 
print(flotante_complejo, type(flotante_complejo)) # (5.5+0j) 

¿Qué limitaciones existen al convertir complejos?

  • De int/float a complex: permitido con complex.
  • De complex a int/float: no permitido.
  • La parte imaginaria agregada es 0j cuando no se especifica.

¿Cómo generar números aleatorios con random?

Para obtener números aleatorios, importa el módulo random y usa random.randrange. El límite superior no se incluye: randrange(1, 10) devuelve valores entre 1 y 9.

import random

print(random.randrange(1, 10))  # entero aleatorio entre 1 y 9

¿Qué debes recordar de randrange?

  • Incluye el inicio, excluye el fin.
  • Ejecuta varias veces para ver resultados distintos.
  • Útil para aplicaciones como juegos que requieren aleatoriedad.

¿Te quedó alguna duda o tienes un caso de uso concreto? Cuéntalo en los comentarios y probamos el código juntos.