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

Divisor de despesas

Dex Pois é. Acabamos de voltar de uma parada de reabastecimento e cada um pagou por uma coisa diferente e agora ninguém concorda sobre quem deve a quem. Sempre vira a maior confusão. Você consegue construir alguma coisa onde a gente registre quem pagou o quê e ela diga como acertar as contas? Pelo bem da moral da tripulação 🙄

O que você vai construir

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

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

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

Total: £75.00 split between 2 people (£37.50 each)
Ana is owed £7.50
Bruno owes £7.50

O que você vai precisar

Dicas

Acompanhe o que cada pessoa pagou. Um dicionário com nomes como chaves e valores como valores torna fácil acumular totais por pessoa.

A parte justa é simples. Valor total dividido pelo número de pessoas. A diferença entre o que alguém pagou e a sua parte justa diz qual é o saldo: positivo significa que a pessoa deve receber, negativo significa que ela deve.

Colete primeiro, calcule depois. Reúna todas as despesas no loop. Quando o usuário digitar "done", faça todas as contas de uma vez.

Indo além

Quando o básico estiver funcionando:

  • Mais de duas pessoas. A lógica é a mesma — calcule o saldo de cada pessoa em relação à parte justa. Mostre o resultado de cada pessoa.
  • Despesas detalhadas. Permita que o usuário adicione uma descrição para cada despesa, depois imprima uma lista detalhada antes do acerto de contas.
  • Quem paga a quem. Em vez de apenas mostrar saldos, calcule o conjunto mínimo de transferências necessárias para acertar as contas de todos.