Python代码分享:猜数字游戏

liftword4周前 (04-26)技术文章17



代码功能概述

这段 Python 代码实现了一个简单的猜数字游戏。程序会随机生成一个 1 到 100 之间的整数,玩家需要不断猜测这个数字,程序会根据玩家的猜测给出提示,直到玩家猜对为止,最后会显示玩家一共用了多少次尝试。

代码分析:

1、import random

这行代码导入了 Python 的 random 模块,该模块提供了生成随机数的功能。

2、number = random.randint(1, 100)

使用 random.randint(1, 100) 函数生成一个 1 到 100 之间(包含 1 和 100)的随机整数,并将其赋值给变量 number,这个 number 就是玩家需要猜测的数字。

3、attempts = 0

初始化一个变量 attempts 并将其赋值为 0,这个变量用于记录玩家猜测的次数。

4、while True:

这是一个无限循环,意味着程序会一直运行,直到遇到 break 语句才会跳出循环。

5、try:

try 语句块用于捕获可能出现的异常。

6、guess = int(input("猜一个 1 到 100 之间的数字: "))

使用 input() 函数提示玩家输入一个 1 到 100 之间的数字,并将输入的字符串转换为整数类型,赋值给变量 guess。

7、attempts += 1

每次玩家进行猜测后,将 attempts 变量的值加 1,记录猜测次数。

8、if guess < number:

print("猜的数字太小了,再试一次!")

如果玩家猜测的数字 guess 小于随机生成的数字 number,则打印提示信息,告知玩家猜的数字太小了,让玩家再试一次。

9、elif guess > number:

print("猜的数字太大了,再试一次!")

如果玩家猜测的数字 guess 大于随机生成的数字 number,则打印提示信息,告知玩家猜的数字太大了,让玩家再试一次。

10、else:

print(f"恭喜你,猜对了!你一共用了 {attempts} 次尝试。")

break

如果玩家猜测的数字 guess 等于随机生成的数字 number,则使用 f-string 格式化输出恭喜信息,并显示玩家一共用了多少次尝试,然后使用 break 语句跳出无限循环,结束游戏。

11、except ValueError:

print("输入无效,请输入一个整数。")

如果玩家输入的内容无法转换为整数,会抛出 ValueError 异常,except 语句块会捕获这个异常,并打印提示信息,告知玩家输入无效,需要输入一个整数。


有兴趣的朋友可以扩展一下:

1、限制猜测次数:可以添加一个最大猜测次数的限制,当玩家猜测次数达到上限时,游戏结束。

2、增加难度级别:可以让玩家选择不同的难度级别,例如不同的数字范围。


相关文章

Pytest 入门与进阶:全面掌握 Python 自动化测试

**Pytest** 是 Python 中非常流行的一个测试框架,它提供了一种简单而高效的方式来编写和执行测试,广泛应用于单元测试、功能测试和集成测试。Pytest 以其简洁的语法和丰富的功能,成为...

从零入门Python测试神器pytest!高效测试,代码质量飙升10倍

引言:为什么测试是开发者的"金钟罩"?在编程江湖中,未经测试的代码如同没有铠甲的战士。今天要介绍的pytest,正是Python领域测试覆盖率排名第一的利器(2023年PyPI官方数据...

Python单元测试最佳实践指南:编写高效测试的7个核心技巧

作为Python开发者,编写单元测试是最值得培养(并不断提升)的优秀习惯之一。它能帮助您及早发现错误、简化调试过程,并让您有信心进行代码修改而不破坏现有功能。但并非所有测试都具有同等价值!如果测试代码...

python四个性能检测工具,包括函数的运行内存、时间等等...

这里总结了五个比较好的python性能检测工具,包括内存使用、运行时间、执行次数等方面。首先,来编写一个基础的python函数用于在后面的各种性能测试。def base_func(): for...

Python实现YOLOv8车道线与车辆检测

以下是一个基于YOLOv8和OpenCV实现车道线与车辆检测的Python示例代码,结合了深度学习目标检测和传统图像处理技术:pythonimport cv2import numpy as npfro...

Python进阶-day19: 测试与调试

一、课程目标理解测试的重要性:掌握软件测试的基本概念,了解单元测试在提高代码质量和可维护性中的作用。学习测试框架:熟悉Python中两种主流测试框架unittest和pytest的使用方法,理解它们的...