CODEZEROINTERACTIVE

Chapter 6 / 15

Parte 17 — MiniFinance del capítulo

Tipos de datos en Python, conversiones, errores comunes y representación correcta de información.

Lesson 1834%

18 / 18 lessons in this chapter

Parte 17 — MiniFinance del capítulo

1 / 1 in this part

Current chapter

Chapter 6 — Tipos de datos: no toda la información es igual

Self-paced

Parte 17 — MiniFinance del capítulo

6.78 Código actualizado

Configuración de MiniFinance

NOMBRE_APLICACION = "MINIFINANCE" VERSION = "0.2"

nombre_usuario = "Daniel" nombre_cuenta = "Cuenta principal" moneda = "CRC"

saldo_inicial = 1_000 primer_ingreso = 750 primer_gasto = 200 segundo_gasto = 125

total_ingresos = primer_ingreso total_gastos = primer_gasto + segundo_gasto saldo_actual = saldo_inicial + total_ingresos - total_gastos

cuenta_activa = True datos_guardados = False ultimo_movimiento = None

Mostrar la pantalla principal

print("=" * 32) print(" ", NOMBRE_APLICACION) print("=" * 32) print("Versión:", VERSION) print() print("Usuario:", nombre_usuario) print("Cuenta:", nombre_cuenta) print("Moneda:", moneda) print() print("Saldo inicial:", saldo_inicial, moneda) print("Ingresos:", total_ingresos, moneda) print("Gastos:", total_gastos, moneda) print("Saldo actual:", saldo_actual, moneda) print() print("Cuenta activa:", cuenta_activa) print("Datos guardados:", datos_guardados) print("Último movimiento:", ultimo_movimiento) 6.79 Resultado esperado ================================ MINIFINANCE ================================ Versión: 0.2

Usuario: Daniel Cuenta: Cuenta principal Moneda: CRC

Saldo inicial: 1000 CRC Ingresos: 750 CRC Gastos: 325 CRC Saldo actual: 1425 CRC

Cuenta activa: True Datos guardados: False Último movimiento: None 6.80 Revisar los tipos del proyecto

Agrega temporalmente:

print() print("=== TIPOS DE DATOS ===") print("nombre_usuario:", type(nombre_usuario)) print("saldo_actual:", type(saldo_actual)) print("cuenta_activa:", type(cuenta_activa)) print("ultimo_movimiento:", type(ultimo_movimiento))

Resultado:

=== TIPOS DE DATOS === nombre_usuario: <class 'str'> saldo_actual: <class 'int'> cuenta_activa: <class 'bool'> ultimo_movimiento: <class 'NoneType'>

Después de comprobarlos, puedes eliminar esta sección.

6.81 Reto del capítulo

Crea una versión de MiniFinance que contenga los siguientes datos:

Nombre del usuario Nombre de la cuenta Moneda Número de cuenta Saldo inicial Ingreso recibido como texto Gasto recibido como texto Cuenta activa Descripción opcional

Utiliza estos valores:

Usuario: Andrea Cuenta: Ahorros Moneda: CRC Número de cuenta: 001234 Saldo inicial: 2000 Ingreso recibido: "750" Gasto recibido: "325" Cuenta activa: True Descripción: sin valor

Requisitos:

El número de cuenta debe guardarse como str. El saldo inicial debe ser int. El ingreso comienza como str. El gasto comienza como str. Convierte el ingreso y el gasto antes de calcular. La cuenta activa debe ser bool. La descripción debe comenzar como None. Utiliza type() para comprobar al menos cuatro variables. Calcula el saldo final. Muestra todos los datos.

Resultado financiero esperado:

Saldo final: 2425 CRC

Cálculo:

2000 + 750 - 325 = 2425 6.82 Posible solución

Configuración

NOMBRE_APLICACION = "MINIFINANCE" VERSION = "0.2"

nombre_usuario = "Andrea" nombre_cuenta = "Ahorros" moneda = "CRC" numero_cuenta = "001234"

saldo_inicial = 2000

ingreso_texto = "750" gasto_texto = "325"

cuenta_activa = True descripcion = None

Convertir montos

ingreso = int(ingreso_texto) gasto = int(gasto_texto)

saldo_final = saldo_inicial + ingreso - gasto

Mostrar información

print("=" * 32) print(" ", NOMBRE_APLICACION) print("=" * 32) print("Versión:", VERSION) print() print("Usuario:", nombre_usuario) print("Cuenta:", nombre_cuenta) print("Número:", numero_cuenta) print("Moneda:", moneda) print() print("Saldo inicial:", saldo_inicial, moneda) print("Ingreso:", ingreso, moneda) print("Gasto:", gasto, moneda) print("Saldo final:", saldo_final, moneda) print() print("Cuenta activa:", cuenta_activa) print("Descripción:", descripcion)

Comprobar tipos

print() print("=== TIPOS DE DATOS ===") print("numero_cuenta:", type(numero_cuenta)) print("saldo_inicial:", type(saldo_inicial)) print("ingreso_texto:", type(ingreso_texto)) print("ingreso convertido:", type(ingreso)) print("cuenta_activa:", type(cuenta_activa)) print("descripcion:", type(descripcion)) 6.83 Lista de comprobación

Antes de continuar, deberías poder marcar lo siguiente:

[ ] Sé qué es un tipo de dato. [ ] Sé qué significa str. [ ] Sé qué significa int. [ ] Sé qué significa float. [ ] Sé qué significa bool. [ ] Entiendo para qué sirve None. [ ] Comprendo la diferencia entre 5 y "5". [ ] Sé que los textos utilizan comillas. [ ] Sé que True y False no llevan comillas. [ ] Sé consultar un tipo con type(). [ ] Puedo convertir texto a int. [ ] Puedo convertir texto a float. [ ] Puedo convertir números a str. [ ] Entiendo qué es un TypeError. [ ] Entiendo qué es un ValueError. [ ] Sé que int() elimina la parte decimal. [ ] Sé que input() devolverá texto. [ ] Comprendo por qué los float requieren cuidado con dinero. [ ] Puedo elegir tipos adecuados para MiniFinance.

Si alguna respuesta es negativa, vuelve a practicar la sección correspondiente.

6.84 Qué aprendiste

En este capítulo aprendiste:

Qué son los tipos de datos. Cómo Python diferencia distintas clases de información. Qué es un str. Qué es un int. Qué es un float. Qué es un bool. Qué representa None. La diferencia entre números y texto. Cómo concatenar cadenas. Cómo repetir texto. Cómo realizar operaciones numéricas. Cómo consultar tipos mediante type(). Cómo convertir valores con str(), int() y float(). Por qué algunas conversiones fallan. Qué son TypeError y ValueError. Por qué los números decimales pueden ser delicados. Cómo representar correctamente los datos financieros. Cómo elegir un tipo según el significado de la información. Cómo preparar MiniFinance para recibir datos del usuario.

MiniFinance ya contiene diferentes clases de información correctamente organizadas.

Sin embargo, sus valores todavía están escritos directamente dentro del código.

En el siguiente capítulo permitiremos que la persona que utiliza el programa escriba sus propios datos.