SIN · Sintaxis 2 · Datos y variables

9.Conversión de tipos

Transformar un valor de un tipo a otro —de texto a número, de decimal a entero— para poder operar con él; en Python se hace con int(), float(), str() y bool().

¿Qué es?

Convertir un dato es cambiarlo de un tipo a otro: el texto "25" al número 25, el decimal 7.8 al entero 7, el número 100 al texto "100". Se necesita porque cada tipo permite operaciones distintas.

Es como cambiar dinero en una casa de cambio: tienes el mismo valor, pero en la «moneda» que te sirve para lo que vas a hacer.

Implícita y explícita

Tipo Qué es Ejemplo en Python
Implícita El lenguaje convierte solo, cuando es seguro 3 + 2.5 → 5.5 (el entero pasa a decimal)
Explícita Tú pides la conversión int("25") → 25

Sintaxis (pseudocódigo / Python)

Funciones de conversión

Conversión PSeInt Python Resultado
Texto → número ConvertirANumero("25") int("25") / float("2.5") 25 / 2.5
Número → texto ConvertirATexto(25) str(25) "25"
Decimal → entero (corta) trunc(7.8) int(7.8) 7
Redondear redon(7.5) round(7.6) 8
A lógico — bool(0) / bool("hola") False / True

PSeInt

Algoritmo Conversiones
	Definir texto Como Caracter
	Definir numero Como Real
	texto <- "25"
	numero <- ConvertirANumero(texto) + 5
	Escribir "Resultado: ", numero
	Escribir "Como texto: " + ConvertirATexto(numero)
	Escribir "Truncado: ", trunc(7.8)
FinAlgoritmo

Python

texto = "25"
numero = int(texto) + 5
print("Resultado:", numero)          # 30
print("Como texto: " + str(numero))  # unir texto con texto
print("Truncado:", int(7.8))         # 7
print("Redondeado:", round(7.6))     # 8
print("Decimal:", float("3.75") * 2) # 7.5

Ejemplo guiado

Problema: pedir el año de nacimiento y calcular la edad aproximada.

1. Entrada: el año llega como texto. Proceso: convertirlo a entero y restarlo del año actual. Salida: la edad.

from datetime import date

anio_texto = input("Año de nacimiento: ")
anio = int(anio_texto)
edad = date.today().year - anio
print("Tienes aproximadamente " + str(edad) + " años")

Salida esperada (con 2009, en el año 2026):

Año de nacimiento: 2009
Tienes aproximadamente 17 años

Errores comunes

# ✗ Incorrecto: el usuario escribió letras
edad = int("dieciséis")
ValueError: invalid literal for int() with base 10: 'dieciséis'
# ✗ Incorrecto
precio = int("19.90")
ValueError: invalid literal for int() with base 10: '19.90'

Buenas prácticas

  • Convierte al recibir: edad = int(input("Edad: ")) deja claro desde el inicio qué tipo es.
  • Valida la entrada del usuario antes de confiar en ella.
  • Usa f-strings para mostrar números con texto: f"Total: {total:.2f}" (dos decimales).
  • No conviertas de más: si ya es número, no lo pases a texto y de regreso.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias

© solutions_ · Fundamentos de programación · 9 Conversión de tipos