2015-06-23 22 views
0
month = 1 
while month < 13: 
    monthly_interest_rate = annualInterestRate/12.0 
    min_monthlypayment = monthlyPaymentRate * balance 
    monthlyUnpaidBalance = balance - min_monthlypayment 
    updated_balance = monthlyUnpaidBalance + (monthly_interest_rate * monthlyUnpaidBalance) 
    print "Month: " + str(month) 
    print "Minimum monthly payment : " + str(round(min_monthlypayment, 2)) 
    print "Remaining balance: " + str(round(updated_balance, 2)) 
    balance = updated_balance 
    month = month + 1 
print "Total paid : " + round(sum(min_monthlypayment), 2) 
print "Remaining balance: " + round(updated_balance, 2) 

Я не знаю, почему я получаю эту ошибку, если не использую никакую итерацию.python TypeError: объект «float» не является итерируемым в программе для ежемесячной оплаты

+0

Какая строка указывает на ошибку? – wallyk

+1

sum (min_monthlypayment): сумма ждет итерации (например, списка), а не float ... –

+0

Итак, как я могу сделать сумму ежемесячных платежей без этой ошибки? –

ответ

0

Вы выполняете итерацию, когда пытаетесь взять сумму. Мое предложение состояло в том, чтобы сохранить ваш код и сохранить переменную в массиве, а затем взять сумму в конце так:

import numpy as np 
    sum_arr = np.zeros(12) 
    a = 0 
    under min_monthlypayment put: sum_arr[a] = min_monthlypayment 
    under month = month + 1 put: a = a+1 
    then to get the sum use np.sum(sum_arr) 
Смежные вопросы