在python中计算细菌数量程序

时间:2015-11-26 06:53:42

标签: python-3.x

细菌B每2分钟复制一次,编写一个程序,要求用户输入两个数字:初始B细菌数和一段时间(以分钟为单位)。计算并打印出这段时间后B细菌的总数。

怎么做我确实喜欢下面,但结果是错误的。因为bateria每2分钟复制一次,所以我将它与时间相乘。

b = int(input('How many B Bacterias are there? '))
t = int(input('How much time will we waits (minutes)? '))
r = b * 2 * t
print ('After',t,'minutes(s) we would have',r,'B Bacterias')

See the image here

2 个答案:

答案 0 :(得分:0)

你计算细菌数量的函数是错误的,这是一个指数函数的教科书例子。

应为r = b * 2 ** (t/2)

您需要花费时间t并将其除以2分钟的分割时间,以获得发生的分割数。

通过将2提高到这个数字,您可以获得一个细菌细胞的总后代,并且这个数量乘以最初的细菌数量就是您的答案

答案 1 :(得分:0)

你在这个时间有b细菌:

 t    b

 0    b
 1    b
 2    b * 2
 3    b * 2
 4    b * 4
 5    b * 4
 6    b * 8
 7    b * 8
 8    b * 16

等等。

所以你的公式是r = b * 2 ** math.floor(t/2),代码是:

import math
b = int(input('How many B Bacterias are there? '))
t = int(input('How much time will we waits (minutes)? '))
r = b * 2 ** math.floor(t/2)
print ('After',t,'minutes(s) we would have',r,'B Bacterias')