我在修6.00.1x计算机科学与编程导论课程。我被要求想出一个程序来计算一年内还清信用卡余额所需的最低还款额。为此,我需要使用对分方法。在
我想出了这段代码(请看下面)。当我运行代码时,我得到的答案是29591.55;然而,我的意思是得到29157.09。在
谁能帮我解决我的问题吗?在
balance = 320000
annualInterestRate = 0.2
monthlyInterestRate = annualInterestRate/12.0
lowerRepayment = balance/12
upperRepayment = (balance * (1 + monthlyInterestRate)**12)/12
repayment = (lowerRepayment + upperRepayment)/2
unpaidBalance = balance
while unpaidBalance >= 0:
repayment = round(((lowerRepayment + upperRepayment)/2), 2)
unpaidBalance = balance
numberOfRepayments = 0
while numberOfRepayments < 12 and unpaidBalance >= 0:
numberOfRepayments += 1
monthlyUnpaidBalance = unpaidBalance - repayment
increment = monthlyUnpaidBalance * monthlyInterestRate
unpaidBalance = monthlyUnpaidBalance + increment
if unpaidBalance < -0.01:
lowerRepayment = repayment
elif unpaidBalance > 0.01:
upperRepayment = repayment
print 'Lowest Payment: ' + str(repayment)
你必须改变条件 如果未付款余额>0.01: LowerPayment=还款 elif unpaidBalance<;-0.01: 最高还款=还款 2.当unpaidBalance在-0.01和0.01之间时,使循环结束
相关问题 更多 >
编程相关推荐