使用两个参数在python中循环,输出一个循环作为下一个循环的输入

时间:2012-05-05 06:14:33

标签: python loops

我有一个非常基本的计算,我想循环:

month = 1
carryK = 104800 #Carrying capacity as per Q0
redcarryK = 0.998 #amount to reduce the carrying capacity to as given in part 4
newcarryK = (carryK*redcarryK)

我希望将这个计算循环一个12个月的周期,以便第1个月的newcarryK成为第2个月的carryK。

我已经尝试过了,而且我得到的只是12次相同答案的输出。

while month <=12:
    print newcarryK
    month = month + 1

2 个答案:

答案 0 :(得分:0)

看起来缺少newcarryk计算。

while month <=12:
    print newcarryK
    newcarryK = (newcarryK*redcarryK)
    month = month + 1 

答案 1 :(得分:0)

如果仔细观察,这个计算就是经典的复利计算。为简洁起见,我们重新定义carryK = predcarryK == r

现在,对于每个月,计算进行如下:

month 1 --> p * r
month 2 --> p * r ** 2
month 3 --> p * r ** 3
month 4 --> p * r ** 4

我猜你看到的模式了。您正在使用的程序是一种非常传统的程序方法。更多Pythonic方式如下:

p = 104800
r = 0.998
vals = [ p * r ** i for i in range(1, 13)]

在学习Python时,尝试使用列表推导等,这显着提高了可读性......