我已经给出了简报 - "现在编写一个程序,计算所需的最低固定月付款,以便在12个月内偿还信用卡余额。"
从本质上说,我所做的远远不是代码,它会取一个基本值(例如10个),从信用卡余额中取出(考虑到利息),如果将余额变为负数(例如付清)所需的总月数大于12,它增加了“分钟”。 (金额为每月还清),直到月数等于或低于12。
现在发生了什么,现在它正在形成这个并进入一个循环,并不断进入“其他”,而不仅仅是做当月数低于12时,它就会发生一次。http://pastebin.com/yruGDKiP
过长我哪里错了? :/
balance = float(raw_input('Enter the outstanding balance on your creditcard: '))
interest = float(raw_input('Enter the annual credit card interest rate as a decimal: '))
startbalance = balance
minmonth = 1000
months = 0
monthlyinterest = interest / 12
while(balance > 0):
balance = balance * (1 + monthlyinterest) - minmonth
months = months + 1
if(months > 12):
months = 0
minmonth = minmonth + 10
balance = startbalance
else:
print 'RESULT!'
print 'Total amount to pay per month would be'
print minmonth
print 'Total months to pay'
print months
答案 0 :(得分:1)
如果您只想显示结果,实际上已经支付了余额,那么您需要在打印前检查余额是否已经支付。
如果您在12个月内无法偿还余额,那么要查看付款的增加是否成功,您需要在再次开始“模拟”之前重置余额。
< / LI> 醇>尝试制作一个单独的函数,测试给定的每月付款是否足够,并以逐渐增加的值调用它。
虽然你真的应该,你知道,做数学而不是这个试错事业
答案 1 :(得分:0)
months = 0
while(balance > 0):
months = months + 1
if(months < 12):
months = 0
也许你想写几个月&gt; 12但不是&lt;