

# yyds干货盘点 # 群友教你使用Python编程来实现“猜数字”游戏
source link: https://blog.51cto.com/u_13389043/5071375
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

大家好,我是Python进阶者。
前几天在Python钻石交流群有个叫【dcpeng】的粉丝问了一个关于Python实现“猜数字”游戏的问题,这里拿出来给大家分享下,一起学习。
大概意思是说随机产生一个数字,然后你自己输入一个数字,一直猜,直到猜对为止,退出循环。
二、解决过程
这里给出【冯诚】和【德善堂小儿推拿-瑜亮老师】大佬的解答,一共两个方法,一起来看看吧!
【冯诚】解答
其实这个题目的逻辑和思路也相对简单,使用while
循环和random
库,借用input()
函数,下面是【冯诚】大佬给的代码,如下所示:
n=random.randint(1,100)
while True:
a=int(input('请输入数字:'))
if a>n:
print('猜大了')
elif a<n:
print('猜小了')
else :
print('恭喜你猜对了')
break
这个方法还是蛮好理解的,比较好理解,基本上运气好的话,几次运行结果,就会答对了。【dcpeng】自己也写了一份代码,和这个基本上一样的,就不单独展示了。
【德善堂小儿推拿-瑜亮老师】解答
这里加入了重新赋值的方法,使得交互性更强了一些,代码如下:
#qpy:console
import random
key=random.randint(1,100)
btm=1
top=100
count=1
while True:
try:
user=int(input("请输入数字:"))
except:
continue
if user>key:
print('猜大了')
print(f'数字区间为{btm}-{user}')
top=user
elif user<key:
print('猜小了')
print(f'数字区间为{user}-{top}')
btm=user
else:
print(f'恭喜你共使用{count}次机会,猜对正确数字{key}')
break
count+=1
这样还能清楚的知道下一步的猜数是哪个具体的区间,确实好看很多。
不过后来【月神】日常测试,皮了一下,发现了一个小问题,如下图所示:
不仔细测试的话,是很难发现这个小问题。
后来【瑜亮老师】优化了他的这个代码,最新的代码如下所示:
key = random.randint(1, 100)
btm = 1
top = 100
count = 1
while True:
try:
user = int(input("请输入数字:"))
except:
continue
if user > key:
if top >= user:
top = user
print(f'错误!正确数字比{user}小,答案就在区间{btm}-{top}之中')
elif user < key:
if btm <= user:
btm = user
print(f'错误!正确数字比{user}大,答案在区间{btm}-{top}之中')
else:
print(f'恭喜你共使用{count}次机会,猜对正确数字{key}')
if count > 7:
print('请继续努力!您还需要多练习猜数。')
elif count == 1:
print('啥也甭说了,快去买彩票!')
else:
print('你真是个机灵的小可爱!')
break
count += 1
最新代码修复了输入错误数字时提示区间显示的错误。加入一些互动,玩起来更有意思一些,这样就更加完美了。
真是太秀了。
大家好,我是Python进阶者。这篇文章基于粉丝提问,针对Python实现猜数游戏的问题,给出了具体说明和演示,并且在实现过程中,群友们不断的测试和优化,精益求精,顺利地帮助粉丝解决了问题,让程序玩起来更有意思一些。
最后感谢粉丝【dcpeng】提问,感谢【冯诚】和【德善堂小儿推拿-瑜亮老师】大佬给出的示例和代码支持,感谢粉丝【月神】、【冯诚】、【Function】参与调测支持,感谢【孤烟逐云】、【东哥】、【某嘟】、【Function】、【布洛芬】、【果冻】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
Recommend
-
23
友趣 CP - 在群友和自己或者朋友的朋友圈中搜索兴趣相投&三观一致的 CP 小伙伴一起玩耍 - NEXT
-
34
我的群友死了…
-
32
Q: bpmn.js是什么? 🤔️ ” bpmn.js是一个BPMN2.0渲染工具包和web建模器, 使得画流程图的功能在前端来完成. Q: 我为什么要写该系列的教材? 🤔️ ”
-
23
-
18
-
46
:point_up_2: “ Python猫 ” ,一个值得加星标的 公众号 花下猫语: 今天分享的文章来自于一位资深群友,是一篇...
-
10
北京的群友,你们小区垃圾分类还好么 垃圾分类...
-
5
# yyds干货盘点 # 手把手教你开展mofish库(摸鱼库)的打包发布 原创 大家好,我是我是皮皮。前几天吴老板给我推荐了一个摸...
-
4
前言Hey,大家好呀,我是码农,星期八!最近假装是时间多了吧,打算学习安卓逆向相关的。先小试牛刀了一下,如何篡改app的名称和图标,一起来了解一下吧!# app
-
2
当你想 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK