遍历一系列计算和打印迭代次数

时间:2019-06-09 23:15:57

标签: python while-loop

我想使用以下公式循环计算:

Equation image

其中,α是控制增长率的正数,K是定义容量的正数,即种群中细菌的最大数目。

脚本应每小时模拟细菌的生长,并在细菌数量超过时停止 某个固定数字N。您的程序必须返回人口首次超过N的时间t。

我有点迷茫,在考虑是否将用于 while 循环。

我的起点是以下模板:

def bacteriaGrowth(n0, alpha, K, N):

 return tN

我希望输出为单个整数,如以下示例所示:

Example image

希望有道理。

1 个答案:

答案 0 :(得分:0)

这是满足您需求的代码,以及第二张图中给出的测试用例。结果应该是7。通过调试器运行代码表明nt在每个循环中都获得了适当的值(四舍五入到小数点后一位),第二个图形中显示了该值。

当您不知道循环将执行多少次时,可以使用while循环。由于您的循环会更新nt的值,并且您想查找循环执行的次数,直到nt变得大于N,因此您不知道循环数,因此您使用while循环。

def bacteriaGrowth(n0, alpha, K, N):
    tN = 0
    nt = n0
    while nt <= N:
        nt = (1 + alpha * (1 - nt / K)) * nt
        tN += 1
    return tN

print(bacteriaGrowth(100.0, 0.4, 1000.0, 500.0))