我想使用以下公式循环计算:
其中,α是控制增长率的正数,K是定义容量的正数,即种群中细菌的最大数目。
脚本应每小时模拟细菌的生长,并在细菌数量超过时停止 某个固定数字N。您的程序必须返回人口首次超过N的时间t。
我有点迷茫,在考虑是否将用于或 while 循环。
我的起点是以下模板:
def bacteriaGrowth(n0, alpha, K, N):
return tN
我希望输出为单个整数,如以下示例所示:
希望有道理。
答案 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))