Python 当循环遍历范围和newBalance>;时,如何将newBalance设置为==outstandingBalance;0 outstandingBalance=1800#声明变量 四月十八日 利息=2012年4月#年利率 minpay=0#minpay需要支付一年内的余额 新余额=未结清余额 月份=0#月份计数器 当newBalance>0时: 月=月+1 minpay=minpay+10 对于范围(1,13)内的i: 新余额=新余额*(1+利息)-最低支付 如果新平衡0,这样我可以将每次迭代的minpay增加10,直到我理解的12个月newBalance

Python 当循环遍历范围和newBalance>;时,如何将newBalance设置为==outstandingBalance;0 outstandingBalance=1800#声明变量 四月十八日 利息=2012年4月#年利率 minpay=0#minpay需要支付一年内的余额 新余额=未结清余额 月份=0#月份计数器 当newBalance>0时: 月=月+1 minpay=minpay+10 对于范围(1,13)内的i: 新余额=新余额*(1+利息)-最低支付 如果新平衡0,这样我可以将每次迭代的minpay增加10,直到我理解的12个月newBalance,python,Python,因此,当循环在范围内迭代时,我试图让newBalance返回到outstandingBalance值,而newBalance仍然>0,这样我可以将每次迭代的minpay增加10,直到我理解的12个月newBalance,您正试图确定确保未偿余额在一年内付清所需的最低月付款额,您正在通过将最低付款额增加10,直到余额在一年内付清为止,来实现这一目标。您可以通过将newBalance=outstandingBalance行移动到循环中来启动并运行代码,以确保每次都从原始余额重新启动计算: outst

因此,当循环在范围内迭代时,我试图让newBalance返回到outstandingBalance值,而newBalance仍然>0,这样我可以将每次迭代的minpay增加10,直到我理解的12个月newBalance,您正试图确定确保未偿余额在一年内付清所需的最低月付款额,您正在通过将最低付款额增加10,直到余额在一年内付清为止,来实现这一目标。您可以通过将
newBalance=outstandingBalance
行移动到循环中来启动并运行代码,以确保每次都从原始余额重新启动计算:

outstandingBalance = 1800   #declaring variables
apr = .18


interest = apr / 12         #annual interest rate
minpay = 0                #minpayment needed to payoff balance in a year
newBalance = outstandingBalance 
month = 0 #month counter

while newBalance>0:
    month = month+1             
    minpay = minpay + 10
    for i in range(1, 13):
        newBalance = newBalance * (1+interest) - minpay

        if newBalance < 0:
            break

一些示例输入和输出到程序会很好。最后你期待什么?为什么是两个不同的循环?
outstandingBalance = 1800
apr = 0.18
interest = 0.18 / 12
minpay = 0

while True:
    newBalance = outstandingBalance
    minpay += 10
    for i in range(12):
        newBalance = newBalance * (1.0 + interest) - minpay
    if newBalance <= 0:
        break

print "minpay needed:", minpay
# minpay needed: 170
import scipy.optimize

outstandingBalance = 1800
apr = 0.18
interest = 0.18 / 12
minpay = 0

def balanceAfterYear(x, outstandingBalance, interest):
    newBalance = outstandingBalance
    for i in range(12):
        newBalance = newBalance * (1.0 + interest) - x
    return newBalance

print scipy.optimize.newton(balanceAfterYear, 0.0, args=(outstandingBalance, interest))
# 165.023987231