Agora, escreva um programa que calcule o pagamento mensal fixo mínimo necessário para liquidar um saldo de cartão de crédito dentro de 12 meses. Por um pagamento mensal fixo, queremos dizer um único número que não muda a cada mês, mas sim um valor constante que será pago a cada mês.
Neste problema, não estaremos lidando com uma taxa de pagamento mensal mínima.
As seguintes variáveis contêm valores conforme descrito abaixo:
- balance - o saldo em dívida no cartão de crédito
- annualInterestRate - taxa de juros anual como um decimal
O programa deve imprimir uma linha: o menor pagamento mensal que saldará todas as dívidas em menos de 1 ano, por exemplo:
Lowest Payment: 180
Suponha que os juros sejam compostos mensalmente de acordo com o saldo no final do mês (após o pagamento para esse mês ser feito). O pagamento mensal deve ser um múltiplo de $ 10 e é o mesmo para todos os meses. Observe que é possível que o saldo fique negativo usando este esquema de pagamento, o que é correto. Um resumo da matemática necessária é encontrado abaixo:
Monthly interest rate = (Annual interest rate) / 12.0 Monthly unpaid balance = (Previous balance) - (Minimum fixed monthly payment) Updated balance each month = (Monthly unpaid balance) + (Monthly interest rate x Monthly unpaid balance)
Casos de teste para testar seu código.
Certifique-se de testá-los em sua própria máquina - e obter a mesma saída! - antes de executar o seu código nesta página!
Test Case 1: balance = 3329 annualInterestRate = 0.2
Result Your Code Should Generate:
Lowest Payment: 310
• Test Case 2: balance = 4773 annualInterestRate = 0.2
Result Your Code Should Generate:
Lowest Payment: 440
• Test Case 3: balance = 3926 annualInterestRate = 0.2
Result Your Code Should Generate:
Lowest Payment: 360
Original em inglês: https://files.fm/u/gnyqwzes
Minha tentativa:
balance = 3329
annualInterestRate = 0.2
Lowest_Payment = Monthly_unpaid_balance - balance
#mes_0
Updated_balance_each_month = 0
Monthly_unpaid_balance =0
mes = 0
while mes < 12:
Monthly_unpaid_balance = (balance) - ( (monthlyPaymentRate) * (balance))
balance= (Monthly_unpaid_balance) + ((annualInterestRate/12) * Monthly_unpaid_balance)
mes += 1
print("Lowest Payment : {0:.2f}".format(Lowest_Payment))
A saída está sempre em zero...