Python实现‘猜数字’游戏的个人方法

那年仲夏 提交于 2020-02-28 05:04:12

简单的猜数字游戏,游戏规则如下:
给出任意一组整数范围,如0~100,玩家任意猜一个这组范围内的数字,会给出提示:猜的数字大了或者小了,问要猜出具体数字,需要才多少次呢?

二分法思路:
1.预先设定一个数为x;
2.将0和100分别做为最小值和最大值,假设每次猜都是取最大值和最小值的中间值;
3.将猜想值与x作比较,大了就将猜想值作为最大值,小了就将猜想值作为最小值;
4.多次循环,累计猜想次数。

代码:

x = int(raw_input('x:'))
low = 0
high = 100
i = 0
guess = 0
while guess != x:
       guess = (low + high) / / 2
       if guess > x:
            high = guess
       else:
            low = guess
       i+=1
 print 'i:',i

假设我们要猜想x为34,则猜想次数i为:5
当然,0~100内最多猜想次数为7.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!