Skip to content
This page has been auto-translated and may contain errors.View in English

Divisor de gastos

Dex Bueno. Acabamos de volver de una parada de reabastecimiento y cada uno pagó cosas distintas, y ahora nadie se pone de acuerdo sobre quién le debe a quién. Siempre se vuelve un lío. ¿Puedes armar algo donde anotemos quién pagó qué y nos diga cómo saldar cuentas? Por el bien de la moral de la tripulación 🙄

Lo que vas a construir

Add an expense (or 'done' to settle up):
Who paid? Sofía
How much? 45.00

Add an expense (or 'done' to settle up):
Who paid? Mateo
How much? 30.00

Add an expense (or 'done' to settle up): done

Total: £75.00 split between 2 people (£37.50 each)
Sofía is owed £7.50
Mateo owes £7.50

Lo que vas a necesitar

  • Números y aritmética — dividir el total, calcular balances
  • Diccionarios — llevar registro de cuánto pagó cada persona
  • Listas — almacenar cada gasto a medida que los recolectas
  • Flujo de control — el bucle de entrada que corre hasta que el usuario escribe "done"
  • Funciones — separar la recolección del cálculo hace que la lógica sea más clara

Pistas

Lleva registro de lo que pagó cada persona. Un diccionario con nombres como claves y montos como valores facilita acumular los totales por persona.

La parte justa es simple. El monto total dividido por el número de personas. La diferencia entre lo que alguien pagó y su parte justa te dice su balance: positivo significa que le deben, negativo significa que debe.

Recolecta primero, calcula después. Reúne todos los gastos en el bucle. Una vez que el usuario escriba "done", haz todos los cálculos de una sola vez.

Yendo más lejos

Una vez que lo básico funcione:

  • Más de dos personas. La lógica es la misma — calcula el balance de cada uno respecto a la parte justa. Muestra el resultado de cada persona.
  • Gastos detallados. Permite que el usuario agregue una descripción a cada gasto, luego imprime una lista detallada antes del saldo.
  • Quién le paga a quién. En vez de solo mostrar balances, calcula el conjunto mínimo de transferencias necesarias para saldar a todos.