我试图写一个函数来计算一种细菌从其初始种群到最终种群所需的天数,因为它的数量每天都会翻倍。我的代码是
def num_doublings(initial_population, final_population):
time = 0
while initial_population < final_population:
time+= 1
initial_population = initial_population * 2
print(time)
这将每天打印,但我希望它只打印while循环停止所需的总迭代次数。使用num_doublings(2, 8)
调用函数时,我的代码的输出是
但我只需要它输出3。我怎么解决这个问题?在
你可以试试这个:
函数将返回时间变量,在您给出的示例中为3
您只需将
print
行拉到while循环之外。像这样-注意,我初始化了
time =1
正如Martijn Pieters正确地观察到的,性能解决方案根本不使用循环:
相关问题 更多 >
编程相关推荐