写个猜数字游戏练手,是学习 Python 控制流和函数调用的经典入门项目。这个小程序虽然简单,但能很好地串联起输入输出、条件判断、循环结构以及异常处理等核心概念。
核心逻辑梳理
要实现这个游戏,主要分三步走:先生成一个秘密数字,然后进入循环让用户不断猜测,最后根据反馈调整直到猜中。
首先,我们需要从控制台读取用户的输入。注意,input() 返回的是字符串,直接参与数值比较会报错,所以必须用 int() 转换。
guess = int(input("请输入你的猜测:"))
接着,利用 random 模块生成目标数字。randint(a, b) 会生成包含边界值的整数,正好符合 1 到 100 的需求。
import random
secret_number = random.randint(1, 100)
完整代码实现
下面这段代码整合了上述逻辑,并增加了猜测次数统计和历史记录功能。实际运行时,如果用户输入非数字字符,程序不会崩溃,而是提示重新输入,这得益于 try-except 块的保护。
import random
# 生成 1 到 100 之间的随机整数
# random.randint(a, b) 会生成一个 a 和 b 之间(包括 a 和 b)的整数
secret_number = random.randint(1, 100)
print("我已经想好了一个 1 到 100 之间的数字,你来猜猜看!")
# guess_count 用于记录猜测的次数
guess_count = 0
# guess_history 列表用于存储每次猜过的数字
guess_history = []
# 无限循环,直到用户猜对
while True:
try:
# 获取用户输入的猜测数字
user_guess = int(input("请输入你的猜测:"))
# 每次猜测都将数字添加到历史列表中
guess_history.append(user_guess)
# 猜测次数增加
guess_count += 1
# 判断猜测结果
if user_guess < secret_number:
print("猜小了!")
elif user_guess > secret_number:
()
:
()
()
(, end=)
(.join((, guess_history)))
ValueError:
()


