二分法猜测100以内数字

def f(low,high,guess,count):
    count[0] += 1
    mid = int(low + (high-low)/2)
    if mid==guess:
        return
    elif mid>guess:
        high = mid
        return f(low,high,guess,count)
    else:
        low = mid
        return f(low,high,guess,count)

jishu={}
tongji={1:[],2:[],3:[],4:[],5:[],6:[],7:[]}
for guess in xrange(101):
    count=[0]
    f(0,101,guess,count)
    jishu[guess]=count[0]
for key,value in jishu.items():
    tongji[value].append(key)
for i in range(1,8):
    print "猜测次数为:%d 次,猜测范围为:%s" % (i,tongji[i])


版权声明:本文为sofeien原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。