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