python新值中的计算循环

问题描述 投票:0回答:3

我想使用我的函数进行计算循环。

b=list(data.iloc[1])

def balance(rate, payment, os):
    interest_amount=os*rate/100/12
    principal_amount=payment-interest_amount    
    next_balance=os+interest_amount-principal_amount
    return next_balance

c=balance(b[9], b[11], b[8])
d=balance(b[9], b[11], c)
e=balance(b[9], b[11], d)

我必须以b[8]开头作为计算金额。从函数balance获得下一个金额后,下一个金额将是第三次计算的开始,依此类推,直到下一个金额eqaul小于0。它将停止循环。

我需要从b[8]开始直到最后一个(在获得0或更小值之前)附加计算值。

对此有任何建议,谢谢!

编辑:基于扎拉基·肯帕奇

b[8]是所给的金额17183b[9]是给定的利率3.39b[11]是每月付款,给定为5759

我想做的输出是:

[17183, 11,521, 5,826, 99]
python loops
3个回答
0
投票

也许像这样]

x = b[8]
output = []
output.append(x)
while x > 0:
    x = balance(b[9], b[11], X)
    output.append(x)

0
投票

Python没有到unfold / iterate的内置方法,但是您想要实现特定功能的通常方法是通过generator


0
投票

您在这里:

© www.soinside.com 2019 - 2024. All rights reserved.