青出于蓝 发表于 2020-5-19 20:24:28

电脑猜玩家输入的数字(简洁版)

之前也有过类似的,我的这个代码比较少,简单。功能基本与之前大佬发的无区别,就是可能电脑猜过的数字还会再猜一遍。以后学的多了,会更新~
话不多说,直接往上贴小白的代码~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

青出于蓝 发表于 2020-5-19 20:25:04

求指出改进建议,作为小白的我,会当作一道作业认真实现

qiuyouzhi 发表于 2020-5-19 20:28:58

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

试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的

青出于蓝 发表于 2020-5-19 20:32:20

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

记下了,试着实现一下,感谢大佬&#128591;

Twilight6 发表于 2020-5-19 20:34:19

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

加油~对你这代码提几点建议哈:

[*]变量命名尽量命名的有意义的名称
[*]导入模块尽量全写在代码初始几行
[*]代码中有个小Bug,若输入的最小数大于最大数则会进入一个死循环



Ps:前两点是程序员的好习惯哦~

青出于蓝 发表于 2020-5-19 20:36:21

Twilight6 发表于 2020-5-19 20:34
加油~对你这代码提几点建议哈:

[*]变量命名尽量命名的有意义的名称


一会把新代码贴上来,感谢回复

青出于蓝 发表于 2020-5-19 20:37:58

Twilight6 发表于 2020-5-19 20:34
加油~对你这代码提几点建议哈:

[*]变量命名尽量命名的有意义的名称


多谢大佬评分,激动

Twilight6 发表于 2020-5-19 20:45:23

青出于蓝 发表于 2020-5-19 20:37
多谢大佬评分,激动

今天评分上限了~不然多点

青出于蓝 发表于 2020-5-19 20:50:29

Twilight6 发表于 2020-5-19 20:45
今天评分上限了~不然多点

激动,感谢大佬~~~

Twilight6 发表于 2020-5-19 20:54:35

青出于蓝 发表于 2020-5-19 20:50
激动,感谢大佬~~~

别,我也是萌新...一起学习

青出于蓝 发表于 2020-5-19 20:57:58

Twilight6 发表于 2020-5-19 20:54
别,我也是萌新...一起学习

我几乎就是使用python者的技术最底层。继续努力

_荟桐_ 发表于 2020-5-19 21:02:43

可以建从一个一到十的列表,作为电脑猜数字时的待选数字
然后用random的choice方法
随机从列表中的元素抽一个出来
如果电脑猜过列表中的一个数字
就把他从列表里删掉
下次随机数字时,就不会猜中以前选过的数字

青出于蓝 发表于 2020-5-19 21:04:42

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

大佬说的我感觉好难实现,试着试一下,感谢大佬回复

青出于蓝 发表于 2020-5-19 21:13:02

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

看到您给我申请好友了,因为等级低缘故(可能是),没法加好友,抱歉qaq

_荟桐_ 发表于 2020-5-19 21:13:08

青出于蓝 发表于 2020-5-19 21:04
大佬说的我感觉好难实现,试着试一下,感谢大佬回复

多理解理解就理解了

青出于蓝 发表于 2020-5-19 21:13:43

_荟桐_ 发表于 2020-5-19 21:13
多理解理解就理解了

好的,一会好好钻研一下,多谢大佬教导!

wuqramy 发表于 2020-5-19 22:01:45

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

数字太大会卡

_荟桐_ 发表于 2020-5-19 22:36:58

wuqramy 发表于 2020-5-19 22:01
数字太大会卡

应该不会吧,就是删除元素,随机抽取元素
那大佬有更好的方法吗,谢谢指点{:10_281:}

青出于蓝 发表于 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()更了一下,功能跟完善了

青出于蓝 发表于 2020-5-20 12:08:07

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

大佬看看,您说的我没想到办法实现,目前采用的是第一个数电脑随机猜,第二个数根据第一个数与我指定得数对比猜,以此类推
页: [1] 2
查看完整版本: 电脑猜玩家输入的数字(简洁版)