MITx:6.00.1x计算机科学和使用Python编程简介

MITx:6.00.1x计算机科学和使用Python编程简介,python,Python,所以我对Python很陌生。。。问题如下: month = 1 minimumMonthlyPayment = (balance * monthlyPaymentRate) totalPaid = 0.0 while month < 13: print "Month: " + str(month) print "Minimum Monthly Payment: " + str(round(minimumMonthlyPayment, 2)) balance = (

所以我对Python很陌生。。。问题如下:

month = 1
minimumMonthlyPayment = (balance * monthlyPaymentRate)
totalPaid = 0.0

while month < 13:
    print "Month: " + str(month)
    print "Minimum Monthly Payment: " + str(round(minimumMonthlyPayment, 2))
    balance = (balance - (balance * monthlyPaymentRate)) * (1 + (annualInterestRate/12))
    minimumMonthlyPayment = (balance * monthlyPaymentRate)
    print "Remaining Balance: " + str(round(balance, 2))
    totalPaid += minimumMonthlyPayment
    month += 1

print "Total Paid: " + str(round(totalPaid, 2))
print "Remaining Balance: " + str(round(balance, 2))
如果一个人每月只支付信用卡公司要求的最低月付款额,则编写一个程序来计算一年后的信用卡余额。

我目前的代码如下:

month = 1
minimumMonthlyPayment = (balance * monthlyPaymentRate)
totalPaid = 0.0

while month < 13:
    print "Month: " + str(month)
    print "Minimum Monthly Payment: " + str(round(minimumMonthlyPayment, 2))
    balance = (balance - (balance * monthlyPaymentRate)) * (1 + (annualInterestRate/12))
    minimumMonthlyPayment = (balance * monthlyPaymentRate)
    print "Remaining Balance: " + str(round(balance, 2))
    totalPaid += minimumMonthlyPayment
    month += 1

print "Total Paid: " + str(round(totalPaid, 2))
print "Remaining Balance: " + str(round(balance, 2))

您正在重新计算余额,然后再计算您的<代码>每月最低付款费率

因此,
balance*monthlyPaymentRate
第8行和第9行的金额不同,因为余额发生了变化


如果您将
balance*monthlyPaymentRate
分配给这些行之前的一个变量,并将其用于两个计算,则会更正此问题。

做得好!你的代码几乎是完美的。唯一的错误是8号线需要在9号线之前运行。您正在更改余额,然后使用更改后的余额计算每月最低付款额。在更新余额之前,您需要计算每个月的最低月付款额

希望这有帮助


balance=4213
年利率=0.2
月付款率=0.04
支付总额=0.0
月份=1
最低月付款额=余额*月付款率
月<13时:
打印“月:”+str(月)
打印“每月最低付款额:”+str(四舍五入(每月最低付款额,2))
最低月付款额=余额*月付款率
余额=(余额-(余额*月付款率))*(1+(年利率/12))
打印“余额:+str(四舍五入(余额,2))
已付款总额+=每月最低付款额
月份+=1
打印“已支付总额:”+str(四舍五入(已支付总额,2))
打印“余额:+str(四舍五入(余额,2))

请张贴可复制的代码粘贴建议!谢谢你,亚历克斯,它立刻起作用了!
balance = 4213
annualInterestRate = 0.2
monthlyPaymentRate = 0.04
totalPaid = 0.0

month = 1
minimumMonthlyPayment = balance * monthlyPaymentRate

while month < 13:
    print "Month: " + str(month)
    print "Minimum Monthly Payment: " + str(round(minimumMonthlyPayment, 2))
    minimumMonthlyPayment = balance * monthlyPaymentRate
    balance = (balance - (balance*monthlyPaymentRate))*(1+(annualInterestRate/12))
    print "Remaining Balance: " + str(round(balance, 2))
    totalPaid += minimumMonthlyPayment
    month += 1

print "Total Paid: " + str(round(totalPaid, 2))
print "Remaining Balance: " + str(round(balance, 2))