相关文章推荐
玩足球的核桃  ·  SIP Servlet 编程模型·  1 年前    · 
Python每日一练——第3天:三种猜数字小游戏

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

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: