鱼C论坛

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

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

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

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

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

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

  10. while True:

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

  14.     if a==d:
  15.         print('电脑一共猜了'+str(count)+'次')
  16.         break
复制代码

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-19 20:25:04 | 显示全部楼层
求指出改进建议,作为小白的我,会当作一道作业认真实现
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

记下了,试着实现一下,感谢大佬&#128591;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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



Ps:前两点是程序员的好习惯哦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  • 一会把新代码贴上来,感谢回复
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

  • 多谢大佬评分,激动
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    今天评分上限了~不然多点
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    激动,感谢大佬~~~
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    别,我也是萌新...一起学习
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    我几乎就是使用python者的技术最底层。继续努力
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    使用道具 举报

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

    大佬说的我感觉好难实现,试着试一下,感谢大佬回复
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    看到您给我申请好友了,因为等级低缘故(可能是),没法加好友,抱歉qaq
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    多理解理解就理解了
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    好的,一会好好钻研一下,多谢大佬教导!
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    数字太大会卡
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    应该不会吧,就是删除元素,随机抽取元素
    那大佬有更好的方法吗,谢谢指点
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2020-5-20 12:06:47 | 显示全部楼层
    1. def abccc():
    2.     b=int(input('请输入一个数字范围的最小数:'))
    3.     c=int(input('请输入一个数字范围的最大数:'))
    4.     d=int(input('请在你输入的范围内输入一个数:'))
    5.     count=0
    6.     while True:
    7.         while True:
    8.             if b<0:
    9.                 b=int(input('整个负数有意思?\n请重新输入一个数字范围的最小数:'))
    10.             if c>50:
    11.                 c=int(input('抱歉,本小游戏电脑不够机智,最大数最好不要超过50\n请在重新你输入的范围内输入一个数:'))
    12.             if b==c:
    13.                 b=int(input('你这样有意思吗。。。。\n请重新输入数字范围的最小数'))
    14.                 c=int(input('请重新输入一个数字范围的最大数:'))
    15.                 d=int(input('请在你重新输入的范围内重新输入一个数:'))
    16.             else:
    17.                 break
    18.         if d>c or d<b:
    19.              d=int(input('您输入的数字大于或小于您规定的范围\n请重新在你输入的范围内输入一个数:'))
    20.         else:
    21.             break
    22.     import random
    23.     a=random.randint(b,c)
    24.     count+=1
    25.     print(a)
    26.     if a==d:
    27.             print('电脑一共猜了'+str(count)+'次')
    28.             ab=input('是否还要继续让电脑猜?yes/任意键退出')
    29.             while True:
    30.                 if str(ab)=='yes':
    31.                     abccc()
    32.                 else:
    33.                     print('好的,游戏结束,谢谢')
    34.                     break
    35.         
    36.         
    37.     while True:
    38.         import random
    39.    
    40.         
    41.         if a>d:
    42.             a=random.randint(b,a-1)
    43.             count+=1
    44.             print(a)
    45.             if a==d:
    46.                 print('电脑一共猜了'+str(count)+'次')
    47.                 ab=input('是否还要继续让电脑猜?yes/任意键退出')
    48.                 while True:
    49.                     if str(ab)=='yes':
    50.                         abccc()
    51.                     else:
    52.                         print('好的,游戏结束,谢谢')
    53.                         break
    54.             
    55.         if a<d:
    56.             a=random.randint(a+1,c)
    57.             count+=1
    58.             print(a)
    59.             if a==d:
    60.                 print('电脑一共猜了'+str(count)+'次')
    61.                 ab=input('是否还要继续让电脑猜?yes/任意键退出')
    62.                 while True:
    63.                     if str(ab)=='yes':
    64.                         abccc()
    65.                     else:
    66.                         print('好的,游戏结束,谢谢')
    67.                         break
    68.         
    69.         
    70.    
    71. abccc()
    复制代码
    更了一下,功能跟完善了
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    大佬看看,您说的我没想到办法实现,目前采用的是第一个数电脑随机猜,第二个数根据第一个数与我指定得数对比猜,以此类推
    小甲鱼最新课程 -> https://ilovefishc.com
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-6-19 18:45

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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