Python实现猜数游戏判断反应快慢

liftword3周前 (04-11)技术文章4


任务要求

使用Python编写一个猜数游戏,系统会随机生成一个1到100之间的整数作为目标数字。玩家需要输入猜测的数字,系统会根据玩家的输入给出提示,如猜的数字过大或过小。同时,要记录玩家每次猜测所花费的时间,以此来判断玩家的反应快慢。当玩家猜对数字后,输出玩家猜测的总次数和平均每次猜测所花费的时间。

任务分析

要实现这个猜数游戏并判断玩家反应快慢,需要完成以下几个关键步骤:

1.随机数生成:利用Python的随机数模块生成1到100之间的随机整数作为目标数字。

2.时间记录:在玩家每次输入猜测数字前后记录时间,计算每次猜测所花费的时间。

3.猜测提示:根据玩家输入的数字与目标数字的大小关系,给出相应的提示(过大或过小)。

4.结束判断:当玩家猜对数字时,结束游戏,并计算玩家猜测的总次数和平均每次猜测所花费的时间。

任务实现

方法一:使用time模块

import random
import time
# 生成 1 到 100 之间的随机数
target_number = random.randint(1, 100)
guess_count =
0
total_time = 0
print("欢迎来到猜数游戏!数字范围是 1 到 100。")
while True:
start_time = time.time()
try:
guess =
int(input("请输入你猜测的数字:"))
except ValueError:
print("输入无效,请输入一个整数。")
continue
end_time = time.time()
guess_count +=
1
total_time += end_time - start_time
if guess < target_number:
print("猜的数字过小,请再试一次。")
elif guess > target_number:
print("猜的数字过大,请再试一次。")
else:
print(f"恭喜你,猜对了!你一共猜了 {guess_count} 次。")
if guess_count > 0:
average_time = total_time / guess_count
print(f"你平均每次猜测花费的时间是 {average_time:.2f} 秒。")
break

运行结果:从键盘上依次输入猜测数字的字符串。

欢迎来到猜数游戏!数字范围是 1 到 100。

请输入你猜测的数字:50

猜的数字过大,请再试一次。

请输入你猜测的数字:25

猜的数字过小,请再试一次。

请输入你猜测的数字:35

猜的数字过小,请再试一次。

请输入你猜测的数字:40

恭喜你,猜对了!你一共猜了 4 次。

你平均每次猜测花费的时间是 4.20 秒。

进程已结束,退出代码为 0

说明:

  • 随机数生成:random.randint(1, 100)用于生成一个 1 到 100 之间的随机整数作为目标数字。
  • 时间记录:在玩家输入猜测数字前,使用time.time()记录开始时间;输入后,再次使用time.time()记录结束时间,两者相减得到本次猜测所花费的时间。
  • 输入验证:使用try-except语句捕获玩家输入非整数的情况,若输入无效则提示玩家重新输入。
  • 猜测提示:通过比较玩家输入的数字与目标数字的大小,输出相应的提示信息。
  • 结束判断:当玩家猜对数字时,计算猜测的总次数和平均每次猜测所花费的时间,并输出结果。

方法二:使用datetime模块

import random
from datetime import datetime
# 生成 1 到 100 之间的随机数
target_number = random.randint(1, 100)
guess_count =
0
total_time = 0
print("欢迎来到猜数游戏!数字范围是 1 到 100。")
while True:
start_time = datetime.now()
try:
guess =
int(input("请输入你猜测的数字:"))
except ValueError:
print("输入无效,请输入一个整数。")
continue
end_time = datetime.now()
guess_count +=
1
total_time += (end_time - start_time).total_seconds()
if guess < target_number:
print("猜的数字过小,请再试一次。")
elif guess > target_number:
print("猜的数字过大,请再试一次。")
else:
print(f"恭喜你,猜对了!你一共猜了 {guess_count} 次。")
if guess_count > 0:
average_time = total_time / guess_count
print(f"你平均每次猜测花费的时间是 {average_time:.2f} 秒。")
break

运行结果:从键盘上依次输入猜测数字的字符串。

欢迎来到猜数游戏!数字范围是 1 到 100。

请输入你猜测的数字:50

猜的数字过小,请再试一次。

请输入你猜测的数字:80

猜的数字过大,请再试一次。

请输入你猜测的数字:70

猜的数字过大,请再试一次。

请输入你猜测的数字:60

恭喜你,猜对了!你一共猜了 4 次。

你平均每次猜测花费的时间是 3.66 秒。

进程已结束,退出代码为 0

说明:

  • 随机数生成:同样使用random.randint(1, 100)生成目标数字。
  • 时间记录:使用datetime.now()记录开始时间和结束时间,通过(end_time - start_time).total_seconds()计算本次猜测所花费的时间。
  • 输入验证、猜测提示和结束判断:与方法一相同。

相关文章

Python中的random模块:生成随机数的魔法工具

在编程中,随机数无处不在——无论是游戏中的随机事件、抽奖程序中的公平选择,还是模拟实验中的数据生成,都离不开它。Python的random模块为我们提供了丰富的工具,让随机数的生成变得简单又有趣。一、...

Python 随机魔法:从抽奖到加密的终极指南

魔法对话录小白:(挠头)我写的抽奖程序每次结果都一样,是不是被诅咒了?专家:(掏出魔法骰子)掌握random模块,让程序充满惊喜!基础魔法入门1. 召唤随机模块import random # 导入随...

Python编写猜数字小游戏教程

以下是一个用 Python 编写的简单猜数字小游戏示例,适合初学者学习:pythonimport randomdef guess_number():# 生成 1-100 之间的随机整数secret_n...

我们如何用Python快速随机生成一个密码

在互联网发达的今天,我们很多地方都需要密码,设置密码是一个很平常的一件事情,为了在互联网的信息安全,还是有必要弄一个安全的密码的,有的时候要想个半天,如果我们自己有个密码生成机器,那就简化很多了。...

Python速查表

1. 变量与数据类型基本数据类型x = 10 # 整数 int y = 3.14 # 浮点数 float z = "Python" # 字符串 str b = True...