Python教程之倒计时猜数字
要为猜数字游戏添加计时器功能,我们可以使用Python的time
模块来实现。以下是修改后的代码示例,其中包含了计时器的实现:
|
|
代码说明
-
导入模块:
1 2
import random import time
导入
random
模块用于生成随机数,导入time
模块用于计时。 -
定义游戏函数:
1
def guess_number_game():
-
生成随机数:
1
secret_number = random.randint(1, 100)
-
初始化尝试次数和总时间:
1 2
attempts = 0 total_time = 60 # 总时间限制为60秒
-
记录游戏开始时间:
1
start_time = time.time()
-
打印游戏说明和时间限制:
1 2 3 4
print("欢迎来到猜数字游戏!") print("我已经想好了一个1到100之间的数字。") print("看看你是否能在10次之内猜中它!") print(f"你有{total_time}秒的时间来完成游戏。")
-
进入猜数字循环:
1
while attempts < 10:
-
显示剩余时间:
1 2
remaining_time = total_time - (time.time() - start_time) print(f"剩余时间:{int(remaining_time)}秒")
-
获取玩家输入并处理异常:
1 2 3 4 5
try: guess = int(input("猜一个数字:")) except ValueError: print("请输入一个有效的整数!") continue
-
检查玩家猜测:
1 2 3 4 5 6 7 8 9
if guess < secret_number: print("太低了!") elif guess > secret_number: print("太高了!") else: print(f"恭喜你!你猜对了,数字是{secret_number}。") print(f"你总共猜了{attempts}次。") print(f"你用时{int(time.time() - start_time)}秒。") return
-
等待1秒以确保计时器准确:
1
time.sleep(1)
-
检查是否达到时间限制:
1 2 3 4 5 6 7 8 9
if time.time() - start_time >= total_time: print("时间到!") print(f"很遗憾,你没有猜中。") print(f"正确答案是{secret_number}。") else: print("很遗憾,你没有猜中。") print(f"正确答案是{secret_number}。") print(f"你总共猜了{attempts}次。") print(f"你用时{int(time.time() - start_time)}秒。")
-
调用游戏函数:
1 2
if __name__ == "__main__": guess_number_game()
通过这个修改,游戏会在每次玩家猜测后显示剩余时间,并且会在时间用尽时结束游戏。