函数和循环

时间:2018-04-17 18:54:15

标签: python-3.x python-requests

我已经开始创建一个涉及名为def grow_bacteria的函数的程序。 该计划涉及获得用户的输入以估计细菌随时间的增长。 它问道:

  • 一代人的时间(细菌生产新一代需要多长时间)
  • 细菌的起始数
  • 允许细菌繁殖的总时间
  • 该函数需要三个参数:
    • 世代时间,
    • 细菌的起始数量,
    • 和总时间
  • 该功能将返回最终细菌数

所以,我将它放入函数grow_bacteria以及创建for循环时遇到了麻烦。

  • for循环将循环的次数,将通过将总时间长度除以生成时间(以确定多少代)来计算出来
    1. 您必须使用int()将除法结果更改为可用于控制for循环的数字
    2. 或者你可以使用分区

每次循环时,打印出当前的细菌数量(然后当功能完成时,它返回最终值)。计算使用公式b = B×2 ^ n其中:

b is the total number of bacteria
B is the starting number of bacteria
n is the generation

我已经写出了上面的整个作业。这是我到目前为止所拥有的;

import math

def grow_bacteria (b, s, t):
result = b * 2 ** (t//2)

b = int(input('How long does it take the bacteria to produce a new generation '))
s = int(input('What is the starting number of bacteria? ' ))
t = int(input('How much time will we wait for it to reproduce (minutes)? '))
r = b * 2 ** (t//2)
print ('After',t,'minutes(s) we would have',r,' Bacterias')

1 个答案:

答案 0 :(得分:0)

def grow(gen_time, pop, time):
    steps = time // gen_time
    print("Start with a population of {}".format(pop))
    for n in range(1, steps+1):
        print("At T+{:>3}, we have a population of {}".format(n*gen_time, pop*(2**n)))

grow(1, 2, 3)

打印

Start with a population of 2
At T+  1, we have a population of 4
At T+  2, we have a population of 8
At T+  3, we have a population of 16