循环执行一系列计算并打印迭代次数

2024-05-23 22:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Equation image

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

脚本应该逐小时模拟细菌的生长,当细菌数量超过时停止 一些固定的数字,N。你的程序必须返回人口第一次超过N的时间t

我有点不知所措,正在考虑是使用for还是while循环。

我的出发点是以下模板:

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

 return tN

我希望输出是一个整数,如下例所示:

Example image

希望有道理。你知道吗


Tags: 程序脚本数量定义速率时间数字公式
1条回答
网友
1楼 · 发布于 2024-05-23 22:26:07

下面是您想要的代码,以及第二张图中给出的测试用例。结果是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))

相关问题 更多 >