前言??
Python每日一练来啦,本文已收录于:《Python每日一练》专栏
此专栏目的在于,帮忙学习Python的小白提高编程能力,训练逻辑思维,每周持续更新中,欢迎免费订阅!!!
文章目录
1. 问题描述2. 算法思路3. 代码实现方式1:限制只能猜十次方式2:不限次数猜方式3:我们输入答案电脑来猜 《100天精通Python从入门到就业》专栏推荐白嫖80G学习大礼包
1. 问题描述
需求描述:
随机生成一个100以内的整数,共有10次机会开始游戏,输入猜测的数字如果猜小了,提示猜小了如果猜大了,提示猜大了猜对了,提示猜对了,并且结束游戏 10次机会用完还没猜对,提示游戏结束,没有猜到。小伙伴们看了问题描述后,一定要自己先练习,再去看博主的代码和解题思路,才能提高自己的编程水平,全靠自觉哟!!!欢迎小伙伴们把自己的思路或答案在评论区留言,博主会选一个最优解答进行置顶。
![在这里插入图片描述](http://zhangshiyu.com/zb_users/upload/2023/04/20230401103522168031652238915.png)
2. 算法思路
,
1. 使用random库的randint函数生成一个100以内的随机数。
2. 使用 for 循环进行循环10次,每次提示输入要猜测的数字,猜大或猜小都做下相应的提示,并输出还剩下几次机会。
3. 当在10次机会内猜对数字,提示猜对了,你真棒,只用了几次机会。
4. 10次机会用完还没猜对,提示游戏结束,猜不出来吧。
3. 代码实现
方式1:限制只能猜十次
实现代码?:
"""Python每日一练猜数字小游戏random库 randint的使用方式random.randint(a,b) 生成一个[a,b]之间的整数 (包含a、b)"""import random# 随机生成一个1-100之间的整数number = random.randint(0, 100)# 循环十次结束for i in range(10): # input函数从键盘输入要猜的数字,并转换为int类型 choice = int(input("请输入你要猜测的数字:")) # 大于目标数字 if choice > number: print("你猜大了") # 小于目标数字 elif choice < number: print("你猜小了") # 等于目标数字 else: print("你猜对了,真棒!") print(f"你一共用了{i + 1}次机会") break print(f"还剩{9 - i}次机会")else: print("游戏结束你还没有猜到。")
运行结果?:
我猜了十次才中运气没谁了
方式2:不限次数猜
实现代码?:
"""Python每日一练猜数字小游戏random库 randint的使用方式random.randint(a,b) 生成一个[a,b]之间的整数 (包含a、b)"""import random# 随机生成一个1-100之间的整数number = random.randint(0, 100)# 统计所猜次数count = 0while True: # 每循环一次,count加1 count += 1 # input函数从键盘输入要猜的数字,并转换为int类型 choice = int(input("请输入你要猜测的数字:")) # 大于目标数字 if choice > number: print("你猜大了") # 小于目标数字 elif choice < number: print("你猜小了") # 等于目标数字 else: print("你猜对了,真棒!") print(f"你一共用了{count}次机会") break
运行结果?:
方式3:我们输入答案电脑来猜
接下来我们对这个游戏进行一个小改动,由用户输入一个数字,让电脑猜:
实现代码?:
"""Python每日一练猜数字小游戏random库 randint的使用方式random.randint(a,b) 生成一个[a,b]之间的整数 (包含a、b)"""import random# 输入一个正确答案answer = int(input('请输入答案:'))# start表示范围开始值start = 1# end表示范围结束值end = 100# count依然用于统计次数count = 0# 电脑程序所猜第一个值,我们先在循环外得到guess = random.randrange(start, end)# 每循环一次,改变范围while True: count += 1 if guess > answer: print(f'电脑猜{guess},猜大了') end = guess guess = random.randrange(start, guess) elif guess < answer: print(f'电脑猜{guess},猜小了') start = guess + 1 guess = random.randrange(start, end) else: print(f'正确答案:{answer},电脑猜:{guess}:电脑猜了:{count}次猜中了') break
运行结果?:
《100天精通Python从入门到就业》专栏推荐白嫖80G学习大礼包
《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html
优点:订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)!专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等![在这里插入图片描述](http://zhangshiyu.com/zb_users/upload/2023/04/20230401103523168031652326137.png)
![在这里插入图片描述](http://zhangshiyu.com/zb_users/upload/2023/04/20230401103523168031652358965.png)