循环时,值不会在内部递增

时间:2016-10-13 20:25:45

标签: python python-3.x while-loop

我的问题是'月'值增加一次到月= 1,然后一直保持在那里,导致无限循环。如何通过循环每次更改?我知道我可能会遗漏一些非常简单的东西。

def rem_bal(balance, annualInterestRate, monthlyInterestRate):
    month = 0 
    while month <= 12:
        monthly_interest = (annualInterestRate) / 12.0
        minimum_monthly = (monthlyInterestRate) * balance
        monthly_unpaid= (balance) - (minimum_monthly)
        updated_balance = round(((monthly_unpaid) + (monthly_interest * monthly_unpaid)), 2)
        month =+ 1 
        print("Month " + str(month) + "Remaining balance: " + str(updated_balance) + " .")
        balance = updated_balance
    return balance

4 个答案:

答案 0 :(得分:4)

month += 1

不是

month = +1

只是

month = 1

答案 1 :(得分:0)

需要month += 1而不是month =+ 1;后者只是简单的分配,而不是增加month的值(即将month分配给+1 / 1)。

答案 2 :(得分:0)

顺便说一句,这不是你在python中编写代码的方式。 为什么围绕几乎所有的括号? 为什么一次又一次地重新计算monthly_interest,当它没有改变时? 使用while循环不是pythonic。你应该使用

for month in range(13):

答案 3 :(得分:-1)

月=月+ 1 - 试过这个工作