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

本文介绍如何用Python实现一个100以内随机数的猜数游戏,包括10次限制、不限次数和电脑猜数三种版本,旨在帮助Python学习者提升逻辑思维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言📢📢

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

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

在这里插入图片描述



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

运行结果👇:

在这里插入图片描述


评论 99
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁袁袁袁满

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值