电脑猜玩家输入的数字(简洁版)
之前也有过类似的,我的这个代码比较少,简单。功能基本与之前大佬发的无区别,就是可能电脑猜过的数字还会再猜一遍。以后学的多了,会更新~话不多说,直接往上贴小白的代码~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
求指出改进建议,作为小白的我,会当作一道作业认真实现
试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的 qiuyouzhi 发表于 2020-5-19 20:28
试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的
记下了,试着实现一下,感谢大佬🙏 青出于蓝 发表于 2020-5-19 20:25
求指出改进建议,作为小白的我,会当作一道作业认真实现
加油~对你这代码提几点建议哈:
[*]变量命名尽量命名的有意义的名称
[*]导入模块尽量全写在代码初始几行
[*]代码中有个小Bug,若输入的最小数大于最大数则会进入一个死循环
Ps:前两点是程序员的好习惯哦~ Twilight6 发表于 2020-5-19 20:34
加油~对你这代码提几点建议哈:
[*]变量命名尽量命名的有意义的名称
一会把新代码贴上来,感谢回复 Twilight6 发表于 2020-5-19 20:34
加油~对你这代码提几点建议哈:
[*]变量命名尽量命名的有意义的名称
多谢大佬评分,激动 青出于蓝 发表于 2020-5-19 20:37
多谢大佬评分,激动
今天评分上限了~不然多点 Twilight6 发表于 2020-5-19 20:45
今天评分上限了~不然多点
激动,感谢大佬~~~ 青出于蓝 发表于 2020-5-19 20:50
激动,感谢大佬~~~
别,我也是萌新...一起学习 Twilight6 发表于 2020-5-19 20:54
别,我也是萌新...一起学习
我几乎就是使用python者的技术最底层。继续努力 可以建从一个一到十的列表,作为电脑猜数字时的待选数字
然后用random的choice方法
随机从列表中的元素抽一个出来
如果电脑猜过列表中的一个数字
就把他从列表里删掉
下次随机数字时,就不会猜中以前选过的数字 _荟桐_ 发表于 2020-5-19 21:02
可以建从一个一到十的列表,作为电脑猜数字时的待选数字
然后用random的choice方法
随机从列表中的元素抽 ...
大佬说的我感觉好难实现,试着试一下,感谢大佬回复 _荟桐_ 发表于 2020-5-19 21:02
可以建从一个一到十的列表,作为电脑猜数字时的待选数字
然后用random的choice方法
随机从列表中的元素抽 ...
看到您给我申请好友了,因为等级低缘故(可能是),没法加好友,抱歉qaq 青出于蓝 发表于 2020-5-19 21:04
大佬说的我感觉好难实现,试着试一下,感谢大佬回复
多理解理解就理解了 _荟桐_ 发表于 2020-5-19 21:13
多理解理解就理解了
好的,一会好好钻研一下,多谢大佬教导! _荟桐_ 发表于 2020-5-19 21:02
可以建从一个一到十的列表,作为电脑猜数字时的待选数字
然后用random的choice方法
随机从列表中的元素抽 ...
数字太大会卡 wuqramy 发表于 2020-5-19 22:01
数字太大会卡
应该不会吧,就是删除元素,随机抽取元素
那大佬有更好的方法吗,谢谢指点{:10_281:} 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()更了一下,功能跟完善了 qiuyouzhi 发表于 2020-5-19 20:28
试试让电脑有点智慧?
比如猜5,如果显示大了,电脑就不会猜5以下的
大佬看看,您说的我没想到办法实现,目前采用的是第一个数电脑随机猜,第二个数根据第一个数与我指定得数对比猜,以此类推
页:
[1]
2