Python每日一练——第3天:三种猜数字小游戏

前言📢📢

Python每日一练来啦,本文已收录于:《Python每日一练》专栏

此专栏目的在于,帮忙学习Python的小白提高编程能力,训练逻辑思维,每周持续更新中,欢迎免费订阅!!!

文章目录

  • 1. 问题描述
  • 2. 算法思路
  • 3. 代码实现
    • 方式1:限制只能猜十次
    • 方式2:不限次数猜
    • 方式3:我们输入答案电脑来猜
  • 《100天精通Python从入门到就业》专栏推荐白嫖80G学习大礼包

1. 问题描述

需求描述:

  • 随机生成一个100以内的整数,共有10次机会开始游戏,输入猜测的数字
  • 如果猜小了,提示猜小了
  • 如果猜大了,提示猜大了
  • 猜对了,提示猜对了,并且结束游戏
  • 10次机会用完还没猜对,提示游戏结束,没有猜到。

  • 小伙伴们看了问题描述后,一定要自己先练习,再去看博主的代码和解题思路,才能提高自己的编程水平,全靠自觉哟!!!
  • 欢迎小伙伴们把自己的思路或答案在评论区留言,博主会选一个最优解答进行置顶。

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 = 0
while 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、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

免费资料获取,更多粉丝福利,关注下方公众号获取

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年4月22日
下一篇 2023年4月22日

相关推荐