Conversiones de tipos
En Python, las conversiones de tipos permiten transformar un valor de un tipo de dato a otro (por ejemplo, de texto a número, de número a cadena, etc.). Esto es muy útil, sobre todo cuando trabajas con entrada del usuario (que siempre viene como texto) o cuando necesitas hacer cálculos o comparaciones.
🔄 ¿Qué tipos se pueden convertir?
Python tiene varias funciones de conversión incorporadas (type casting):
Función | Convierte a… |
---|---|
int() |
Entero |
float() |
Decimal |
str() |
Cadena |
bool() |
Booleano (True/False) |
list() |
Lista |
tuple() |
Tupla |
set() |
Conjunto |
dict() |
Diccionario |
✅ Ejemplos básicos
🧮 De cadena a número
texto = "123"
numero = int(texto)
print(numero + 10) # 133
💬 De número a cadena
edad = 30
print("Tienes " + str(edad) + " años") # Tienes 30 años
📐 De entero a decimal
entero = 5
decimal = float(entero)
print(decimal) # 5.0
🎯 Ejemplos con bool()
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("hola")) # True
💡 En general,
bool(x)
seráFalse
six
es:
0
,0.0
,''
,[]
,{}
,()
,None
📦 Conversión entre colecciones
📋 Lista a tupla o set
frutas = ["manzana", "pera", "pera"]
print(tuple(frutas)) # ('manzana', 'pera', 'pera')
print(set(frutas)) # {'manzana', 'pera'} (sin repeticiones)
🧾 Lista de pares a diccionario
pares = [("a", 1), ("b", 2)]
dic = dict(pares)
print(dic) # {'a': 1, 'b': 2}
💣 Errores comunes al convertir
❌ No puedes convertir texto que no es número a int
o float
# Esto da error
int("hola") # ValueError
float("abc") # ValueError
❌ No puedes convertir directamente una cadena a lista de números
cadena = "1234"
print(list(cadena)) # ['1', '2', '3', '4'] ← convierte en caracteres, no en números
Para convertir a números:
numeros = [int(c) for c in cadena]
🧪 Ejercicio guiado
entrada = input("Escribe un número decimal: ") # string
numero = float(entrada) # lo convertimos a float
entero = int(numero) # lo truncamos a entero
texto = str(numero) # lo volvemos a cadena
print(f"\nOriginal: {entrada} (tipo {type(entrada)})")
print(f"Como float: {numero}")
print(f"Como entero: {entero}")
print(f"Como texto: '{texto}'")
¿Quieres ejercicios para practicar tú mismo con correcciones, o quieres que prepare una tabla de resumen imprimible con ejemplos comunes de conversión?
Ejercicios:
- Escribe un programa que tome una entrada del usuario como una cadena que represente un número entero, conviértela a un entero y luego multiplique ese número por 2. Finalmente, muestra el resultado.
- Crea un programa que tome un número decimal como entrada del usuario (por ejemplo, 3.14) y conviértelo en un entero. Luego, muestra el número entero resultante.
- Escribe un programa que tome una cadena de caracteres que represente “True” o “False” (en minúsculas o mayúsculas) como entrada del usuario, conviértela a un valor booleano y luego muestre el tipo de datos de la variable resultante.
Estos ejercicios te ayudarán a practicar las conversiones de tipos en Python y a comprender cómo afectan los diferentes tipos de datos en tus programas.