鱼C论坛

 找回密码
 立即注册
查看: 1591|回复: 7

[已解决]关于python二分法的问题

[复制链接]
发表于 2017-10-11 20:20:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如果我想写一个让计算机猜我想的数(0-100)以内的数,如何用二分法写出来呢?
我尝试的单纯的区间循环法太麻烦了,有没有简单点的写法呢?请大佬指点一下
最佳答案
2017-10-11 21:56:33
  1. from random import randint

  2. n_min = 0
  3. n_max = 101
  4. while True:
  5.     n = randint(n_min,n_max)
  6.     print('我猜这个数是:%d'%n)
  7.     str1 = input('如果对请输入:y or Y;如果大了请输入:1,小了请输入:2;')
  8.     if str1 == 'y' or str1 == 'Y':
  9.         print('我是不是很聪明!')
  10.         break
  11.     elif str1 =='1':
  12.         n_max = n-1
  13.     else:
  14.         n_min = n+1
复制代码


要用2分法必须要有一个反馈。知道是大了小了。才能缩小范围
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-11 21:33:15 | 显示全部楼层
  1. def artificial_guess():
  2.     from random import randint
  3.     secret = randint(1, 100)
  4.     for g in range(1, 101):
  5.         if g == secret:
  6.             print(g)
复制代码

这样写你会不会打我。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-11 21:37:47 | 显示全部楼层
我觉得一半一半的没有意义。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-11 21:40:00 | 显示全部楼层
新手·ing 发表于 2017-10-11 21:37
我觉得一半一半的没有意义。

这就是传说中的二分法???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-11 21:41:41 | 显示全部楼层
御笔剑客 发表于 2017-10-11 21:40
这就是传说中的二分法???

我没有认真读题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-11 21:47:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-11 21:56:33 | 显示全部楼层    本楼为最佳答案   
  1. from random import randint

  2. n_min = 0
  3. n_max = 101
  4. while True:
  5.     n = randint(n_min,n_max)
  6.     print('我猜这个数是:%d'%n)
  7.     str1 = input('如果对请输入:y or Y;如果大了请输入:1,小了请输入:2;')
  8.     if str1 == 'y' or str1 == 'Y':
  9.         print('我是不是很聪明!')
  10.         break
  11.     elif str1 =='1':
  12.         n_max = n-1
  13.     else:
  14.         n_min = n+1
复制代码


要用2分法必须要有一个反馈。知道是大了小了。才能缩小范围
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-11 23:45:06 | 显示全部楼层
堕落之翼 发表于 2017-10-11 21:56
要用2分法必须要有一个反馈。知道是大了小了。才能缩小范围

我明白了,我差一个反馈语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 01:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表