Python 2.7 - 计算输出中的项目数

时间:2017-03-03 12:05:34

标签: python-2.7

我需要计算输出中的项目数。 例如,我创建了这个:

a =1000000
while a >=10:
    print a
    a=a/2

我如何计算执行了多少个减半步? 感谢

2 个答案:

答案 0 :(得分:1)

你有两种方式:经验方式和可预测方式。

a =1000000

import math
print("theorical iterations {}".format(int(math.log2(a//10)+0.5)))

counter=0
while a >=10:
    counter+=1
    a//=2

print("real iterations {}".format(counter))

我明白了:

theorical iterations 17
real iterations 17

实验方法只计算迭代次数,而预测方法依赖于log2 a值的舍入(上限)结果(与算法的复杂性相匹配)。

(它已四舍五入到上限,因为如果它超过16,那么你需要17次迭代)

答案 1 :(得分:0)

c = 0
a = 1000000 
while a >= 10: 
  print a
  a = a / 2
  c = c + 1