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

简单的猜数字游戏,游戏规则如下:
给出任意一组整数范围,如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.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值