鱼C论坛

 找回密码
 立即注册
查看: 2025|回复: 9

[技术交流] 电脑猜数字V14.0

[复制链接]
发表于 2022-12-24 17:49:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hveagle 于 2022-12-25 19:48 编辑
名称:电脑猜数字
版本:14.0
import time, random
print('电脑猜数字V14.0')
small = int(input('请输入范围较小的数:'))
big = int(input('请输入范围较大的数:'))
answer = int(input('请输入正确答案:'))
isright = 0
while isright == 0:
    time.sleep(1)
    guess = random.randint(small, big)
    print(f'嗯……, {guess}, 一定是正确的')
    time.sleep(1)
    if guess == answer:
        print('哇!还真对了!')
        isright = 1
    elif guess < answer:
        print('什么!小了!')
    elif guess > answer:
        print('什么!大了!')
演示(电脑猜了119次了,猜了3次89,就是猜不到88)
电脑猜数字V14.0
请输入范围较小的数:0
请输入范围较大的数:100
请输入正确答案:88
嗯……, 2, 一定是正确的
什么!小了!
嗯……, 41, 一定是正确的
什么!小了!
嗯……, 13, 一定是正确的
什么!小了!
嗯……, 90, 一定是正确的
什么!大了!
嗯……, 7, 一定是正确的
什么!小了!
嗯……, 44, 一定是正确的
什么!小了!
嗯……, 86, 一定是正确的
什么!小了!
嗯……, 9, 一定是正确的
什么!小了!
嗯……, 42, 一定是正确的
什么!小了!
嗯……, 99, 一定是正确的
什么!大了!
嗯……, 67, 一定是正确的
什么!小了!
嗯……, 79, 一定是正确的
什么!小了!
嗯……, 38, 一定是正确的
什么!小了!
嗯……, 38, 一定是正确的
什么!小了!
嗯……, 83, 一定是正确的
什么!小了!
嗯……, 97, 一定是正确的
什么!大了!
嗯……, 53, 一定是正确的
什么!小了!
嗯……, 57, 一定是正确的
什么!小了!
嗯……, 31, 一定是正确的
什么!小了!
嗯……, 48, 一定是正确的
什么!小了!
嗯……, 22, 一定是正确的
什么!小了!
嗯……, 26, 一定是正确的
什么!小了!
嗯……, 76, 一定是正确的
什么!小了!
嗯……, 98, 一定是正确的
什么!大了!
嗯……, 53, 一定是正确的
什么!小了!
嗯……, 58, 一定是正确的
什么!小了!
嗯……, 79, 一定是正确的
什么!小了!
嗯……, 24, 一定是正确的
什么!小了!
嗯……, 21, 一定是正确的
什么!小了!
嗯……, 89, 一定是正确的
什么!大了!
嗯……, 40, 一定是正确的
什么!小了!
嗯……, 53, 一定是正确的
什么!小了!
嗯……, 75, 一定是正确的
什么!小了!
嗯……, 9, 一定是正确的
什么!小了!
嗯……, 72, 一定是正确的
什么!小了!
嗯……, 95, 一定是正确的
什么!大了!
嗯……, 65, 一定是正确的
什么!小了!
嗯……, 87, 一定是正确的
什么!小了!
嗯……, 31, 一定是正确的
什么!小了!
嗯……, 4, 一定是正确的
什么!小了!
嗯……, 20, 一定是正确的
什么!小了!
嗯……, 47, 一定是正确的
什么!小了!
嗯……, 40, 一定是正确的
什么!小了!
嗯……, 9, 一定是正确的
什么!小了!
嗯……, 37, 一定是正确的
什么!小了!
嗯……, 36, 一定是正确的
什么!小了!
嗯……, 4, 一定是正确的
什么!小了!
嗯……, 17, 一定是正确的
什么!小了!
嗯……, 28, 一定是正确的
什么!小了!
嗯……, 32, 一定是正确的
什么!小了!
嗯……, 5, 一定是正确的
什么!小了!
嗯……, 98, 一定是正确的
什么!大了!
嗯……, 67, 一定是正确的
什么!小了!
嗯……, 55, 一定是正确的
什么!小了!
嗯……, 89, 一定是正确的
什么!大了!
嗯……, 47, 一定是正确的
什么!小了!
嗯……, 29, 一定是正确的
什么!小了!
嗯……, 67, 一定是正确的
什么!小了!
嗯……, 67, 一定是正确的
什么!小了!
嗯……, 41, 一定是正确的
什么!小了!
嗯……, 87, 一定是正确的
什么!小了!
嗯……, 26, 一定是正确的
什么!小了!
嗯……, 62, 一定是正确的
什么!小了!
嗯……, 47, 一定是正确的
什么!小了!
嗯……, 68, 一定是正确的
什么!小了!
嗯……, 34, 一定是正确的
什么!小了!
嗯……, 65, 一定是正确的
什么!小了!
嗯……, 50, 一定是正确的
什么!小了!
嗯……, 9, 一定是正确的
什么!小了!
嗯……, 8, 一定是正确的
什么!小了!
嗯……, 35, 一定是正确的
什么!小了!
嗯……, 8, 一定是正确的
什么!小了!
嗯……, 19, 一定是正确的
什么!小了!
嗯……, 39, 一定是正确的
什么!小了!
嗯……, 77, 一定是正确的
什么!小了!
嗯……, 91, 一定是正确的
什么!大了!
嗯……, 93, 一定是正确的
什么!大了!
嗯……, 7, 一定是正确的
什么!小了!
嗯……, 85, 一定是正确的
什么!小了!
嗯……, 82, 一定是正确的
什么!小了!
嗯……, 89, 一定是正确的
什么!大了!
嗯……, 8, 一定是正确的
什么!小了!
嗯……, 54, 一定是正确的
什么!小了!
嗯……, 32, 一定是正确的
什么!小了!
嗯……, 64, 一定是正确的
什么!小了!
嗯……, 34, 一定是正确的
什么!小了!
嗯……, 11, 一定是正确的
什么!小了!
嗯……, 32, 一定是正确的
什么!小了!
嗯……, 63, 一定是正确的
什么!小了!
嗯……, 15, 一定是正确的
什么!小了!
嗯……, 90, 一定是正确的
什么!大了!
嗯……, 56, 一定是正确的
什么!小了!
嗯……, 47, 一定是正确的
什么!小了!
嗯……, 10, 一定是正确的
什么!小了!
嗯……, 27, 一定是正确的
什么!小了!
嗯……, 82, 一定是正确的
什么!小了!
嗯……, 0, 一定是正确的
什么!小了!
嗯……, 99, 一定是正确的
什么!大了!
嗯……, 63, 一定是正确的
什么!小了!
嗯……, 43, 一定是正确的
什么!小了!
嗯……, 82, 一定是正确的
什么!小了!
嗯……, 9, 一定是正确的
什么!小了!
嗯……, 32, 一定是正确的
什么!小了!
嗯……, 97, 一定是正确的
什么!大了!
嗯……, 29, 一定是正确的
什么!小了!
嗯……, 26, 一定是正确的
什么!小了!
嗯……, 79, 一定是正确的
什么!小了!
嗯……, 94, 一定是正确的
什么!大了!
嗯……, 10, 一定是正确的
什么!小了!
嗯……, 97, 一定是正确的
什么!大了!
嗯……, 98, 一定是正确的
什么!大了!
嗯……, 27, 一定是正确的
什么!小了!
嗯……, 7, 一定是正确的
什么!小了!
嗯……, 33, 一定是正确的
什么!小了!
嗯……, 28, 一定是正确的
什么!小了!
嗯……, 42, 一定是正确的
什么!小了!
嗯……, 88, 一定是正确的
哇!还真对了!
V14.1优化:
1.二分
2.连接其他模块
3.感谢鱼油建议!(改进3条将升一大级)
115044kb3dszd380ql0693.png.thumb.jpg.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-24 19:32:21 | 显示全部楼层
本帖最后由 zhangjinxuan 于 2022-12-24 19:35 编辑

可以试试用上二分的思路~

给您说啊,二分简直无敌,0~10000000的数字顶多猜24下就好了!

您应该学过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 19:48:42 | 显示全部楼层
1.如果先猜了D数,小了,E数,又大了,会在D~E之间猜。

这个优化不好,因为这个的最坏时间复杂度还是 O(n), 最坏情况,知道吧,就用正常的二分吧:
import time, random
print('电脑猜数字V14.0')
small = int(input('请输入范围较小的数:'))
big = int(input('请输入范围较大的数:'))
answer = int(input('请输入正确答案:'))
small -= 1
big += 1
isright = 0
while isright == 0:
    guess = (small + big) // 2
    print(f'嗯……, {guess}, 一定是正确的')
    if guess == answer:
        print('哇!还真对了!')
        isright = 1
    elif guess < answer:
        small = guess
        print('什么!小了!')
    elif guess > answer:
        big = guess
        print('什么!大了!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-24 19:51:25 | 显示全部楼层
zhangjinxuan 发表于 2022-12-24 19:32
可以试试用上二分的思路~

给您说啊,二分简直无敌,0~10000000的数字顶多猜24下就好了!

学过,但是我要把电脑弄傻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 19:52:55 | 显示全部楼层
hveagle 发表于 2022-12-24 19:51
学过,但是我要把电脑弄傻

真聪明
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 20:23:22 | 显示全部楼层
不错,但是各位...给我加点荣誉呗,我现在的积分是1414,这怎么听着...
@高山 @zhangjinxuan @Mike_python小

评分

参与人数 1荣誉 +5 收起 理由
高山 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 20:38:12 | 显示全部楼层
哎呀!!不好意思,评错了!!
@hveagle 对不起对不起,你发一个帖子我给你加分
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 20:52:13 | 显示全部楼层
编程追风梦 发表于 2022-12-24 20:38
哎呀!!不好意思,评错了!!
@hveagle 对不起对不起,你发一个帖子我给你加分


让别的人来帮忙啊

完蛋,我给高山的帖子评分也没有了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-24 21:03:20 | 显示全部楼层
zhangjinxuan 发表于 2022-12-24 20:52
让别的人来帮忙啊

完蛋,我给高山的帖子评分也没有了

哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-25 09:03:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 05:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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