鱼C论坛

 找回密码
 立即注册
查看: 2269|回复: 24

[作品展示] 电脑猜玩家输入的数字(简洁版)

[复制链接]
发表于 2020-5-19 20:24:28 | 显示全部楼层 |阅读模式

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

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

x
之前也有过类似的,我的这个代码比较少,简单。功能基本与之前大佬发的无区别,就是可能电脑猜过的数字还会再猜一遍。以后学的多了,会更新~
话不多说,直接往上贴小白的代码~
b=int(input('请输入一个数字范围的最小数'))
c=int(input('请输入一个数字范围的最大数'))
d=int(input('请在你输入的范围内输入一个数'))
count=0
while True:
    if d>c or d<b:
        d=int(input('请重新在你输入的范围内输入一个数'))
    else:
        break

while True:

    import random
    a=random.randint(b,c)
    count+=1

    if a==d:
        print('电脑一共猜了'+str(count)+'次')
        break

评分

参与人数 1鱼币 +3 收起 理由
Twilight6 + 3 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-5-19 20:25:04 | 显示全部楼层
求指出改进建议,作为小白的我,会当作一道作业认真实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 20:28:58 | 显示全部楼层
青出于蓝 发表于 2020-5-19 20:25
求指出改进建议,作为小白的我,会当作一道作业认真实现

试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 20:32:20 | 显示全部楼层
qiuyouzhi 发表于 2020-5-19 20:28
试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的

记下了,试着实现一下,感谢大佬&#128591;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 20:34:19 | 显示全部楼层
青出于蓝 发表于 2020-5-19 20:25
求指出改进建议,作为小白的我,会当作一道作业认真实现


加油~对你这代码提几点建议哈:
  • 变量命名尽量命名的有意义的名称
  • 导入模块尽量全写在代码初始几行
  • 代码中有个小Bug,若输入的最小数大于最大数则会进入一个死循环



Ps:前两点是程序员的好习惯哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 20:36:21 | 显示全部楼层
Twilight6 发表于 2020-5-19 20:34
加油~对你这代码提几点建议哈:
  • 变量命名尽量命名的有意义的名称

  • 一会把新代码贴上来,感谢回复
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-19 20:37:58 | 显示全部楼层
    Twilight6 发表于 2020-5-19 20:34
    加油~对你这代码提几点建议哈:
  • 变量命名尽量命名的有意义的名称

  • 多谢大佬评分,激动
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2020-5-19 20:45:23 | 显示全部楼层
    青出于蓝 发表于 2020-5-19 20:37
    多谢大佬评分,激动

    今天评分上限了~不然多点
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-19 20:50:29 | 显示全部楼层
    Twilight6 发表于 2020-5-19 20:45
    今天评分上限了~不然多点

    激动,感谢大佬~~~
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2020-5-19 20:54:35 | 显示全部楼层
    青出于蓝 发表于 2020-5-19 20:50
    激动,感谢大佬~~~

    别,我也是萌新...一起学习
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-19 20:57:58 | 显示全部楼层
    Twilight6 发表于 2020-5-19 20:54
    别,我也是萌新...一起学习

    我几乎就是使用python者的技术最底层。继续努力
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2020-5-19 21:02:43 From FishC Mobile | 显示全部楼层
    可以建从一个一到十的列表,作为电脑猜数字时的待选数字
    然后用random的choice方法
    随机从列表中的元素抽一个出来
    如果电脑猜过列表中的一个数字
    就把他从列表里删掉
    下次随机数字时,就不会猜中以前选过的数字
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-19 21:04:42 | 显示全部楼层
    _荟桐_ 发表于 2020-5-19 21:02
    可以建从一个一到十的列表,作为电脑猜数字时的待选数字
    然后用random的choice方法
    随机从列表中的元素抽 ...

    大佬说的我感觉好难实现,试着试一下,感谢大佬回复
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-19 21:13:02 | 显示全部楼层
    _荟桐_ 发表于 2020-5-19 21:02
    可以建从一个一到十的列表,作为电脑猜数字时的待选数字
    然后用random的choice方法
    随机从列表中的元素抽 ...

    看到您给我申请好友了,因为等级低缘故(可能是),没法加好友,抱歉qaq
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2020-5-19 21:13:08 From FishC Mobile | 显示全部楼层
    青出于蓝 发表于 2020-5-19 21:04
    大佬说的我感觉好难实现,试着试一下,感谢大佬回复

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

    使用道具 举报

     楼主| 发表于 2020-5-19 21:13:43 | 显示全部楼层
    _荟桐_ 发表于 2020-5-19 21:13
    多理解理解就理解了

    好的,一会好好钻研一下,多谢大佬教导!
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2020-5-19 22:01:45 | 显示全部楼层
    _荟桐_ 发表于 2020-5-19 21:02
    可以建从一个一到十的列表,作为电脑猜数字时的待选数字
    然后用random的choice方法
    随机从列表中的元素抽 ...

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

    使用道具 举报

    发表于 2020-5-19 22:36:58 From FishC Mobile | 显示全部楼层
    wuqramy 发表于 2020-5-19 22:01
    数字太大会卡

    应该不会吧,就是删除元素,随机抽取元素
    那大佬有更好的方法吗,谢谢指点
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-20 12:06:47 | 显示全部楼层
    def abccc():
        b=int(input('请输入一个数字范围的最小数:'))
        c=int(input('请输入一个数字范围的最大数:'))
        d=int(input('请在你输入的范围内输入一个数:'))
        count=0
        while True:
            while True:
                if b<0:
                    b=int(input('整个负数有意思?\n请重新输入一个数字范围的最小数:'))
                if c>50:
                    c=int(input('抱歉,本小游戏电脑不够机智,最大数最好不要超过50\n请在重新你输入的范围内输入一个数:'))
                if b==c:
                    b=int(input('你这样有意思吗。。。。\n请重新输入数字范围的最小数'))
                    c=int(input('请重新输入一个数字范围的最大数:'))
                    d=int(input('请在你重新输入的范围内重新输入一个数:'))
                else:
                    break
            if d>c or d<b:
                 d=int(input('您输入的数字大于或小于您规定的范围\n请重新在你输入的范围内输入一个数:'))
            else:
                break
        import random
        a=random.randint(b,c)
        count+=1
        print(a)
        if a==d:
                print('电脑一共猜了'+str(count)+'次')
                ab=input('是否还要继续让电脑猜?yes/任意键退出')
                while True:
                    if str(ab)=='yes':
                        abccc()
                    else:
                        print('好的,游戏结束,谢谢')
                        break
            
            
        while True:
            import random
        
            
            if a>d:
                a=random.randint(b,a-1)
                count+=1
                print(a)
                if a==d:
                    print('电脑一共猜了'+str(count)+'次')
                    ab=input('是否还要继续让电脑猜?yes/任意键退出')
                    while True:
                        if str(ab)=='yes':
                            abccc()
                        else:
                            print('好的,游戏结束,谢谢')
                            break
                
            if a<d:
                a=random.randint(a+1,c)
                count+=1
                print(a)
                if a==d:
                    print('电脑一共猜了'+str(count)+'次')
                    ab=input('是否还要继续让电脑猜?yes/任意键退出')
                    while True:
                        if str(ab)=='yes':
                            abccc()
                        else:
                            print('好的,游戏结束,谢谢')
                            break
            
            
        
    abccc()
    更了一下,功能跟完善了
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-20 12:08:07 | 显示全部楼层
    qiuyouzhi 发表于 2020-5-19 20:28
    试试让电脑有点智慧?
    比如猜5,如果显示大了,电脑就不会猜5以下的

    大佬看看,您说的我没想到办法实现,目前采用的是第一个数电脑随机猜,第二个数根据第一个数与我指定得数对比猜,以此类推
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-1-21 06:00

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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