|
|
发表于 2016-2-3 14:05:07
|
显示全部楼层
本帖最后由 aptdo 于 2016-2-3 14:06 编辑
- #encoding:utf-8
- #自动统计计算机自己猜数的次数
- import random
- import time
- def guess_num():
- secret = random.randint(1,1024)
- a =1
- b = 1024
- mid = (b-a+1)/2
- global count
- count = 0
- while True:
- count += 1
- #print '第',count,'次'
- if mid == secret:
- #print secret,a, b ,mid
- break
- elif b-a == 2:
- break
- elif mid > secret:
- b = mid
- mid = (b-a+1)/2 +a
- #print secret,a, b ,mid
- elif mid < secret:
- a =mid
- mid = (b-a+1)/2 +a
- #print secret,a, b ,mid
-
- def test():
- sample_size = 100000
- i = 1
- counts = []
- while i<= sample_size:
- i += 1
- guess_num()
- counts.append(count)
- average = float(sum(counts))/sample_size
- #print counts
- print "总共进行了"+str(sample_size)+"次,平均用了:"+ str(average) +'次!'
-
- start = time.time()
- test()
- end = time.time()
- elapsed = end - start
- print "Time taken: ", elapsed, "seconds."
- raw_input("已执行完成,按Enter键退出!") #双击执行时,可以让黑色命令行窗口停留,不会一闪而过
复制代码
执行结果:
总共进行了100000次,平均用了:9次!
Time taken: 0.405999898911 seconds.
已执行完成,按Enter键退出! |
|