Python教程之倒计时猜数字

要为猜数字游戏添加计时器功能,我们可以使用Python的time模块来实现。以下是修改后的代码示例,其中包含了计时器的实现: import random import time def guess_number_game(): # 随机生成一个1到100之间的数字 secret_number = …

要为猜数字游戏添加计时器功能,我们可以使用Python的time模块来实现。以下是修改后的代码示例,其中包含了计时器的实现:

import random
import time

def guess_number_game():
    # 随机生成一个1到100之间的数字
    secret_number = random.randint(1, 100)
    attempts = 0
    total_time = 60  # 总时间限制为60秒
    start_time = time.time()  # 记录游戏开始时间

    print("欢迎来到猜数字游戏!")
    print("我已经想好了一个1到100之间的数字。")
    print("看看你是否能在10次之内猜中它!")
    print(f"你有{total_time}秒的时间来完成游戏。")

    while attempts < 10:
        attempts += 1
        remaining_time = total_time - (time.time() - start_time)
        print(f"剩余时间:{int(remaining_time)}秒")

        try:
            guess = int(input("猜一个数字:"))
        except ValueError:
            print("请输入一个有效的整数!")
            continue

        # 检查玩家的猜测
        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

        time.sleep(1)  # 等待1秒,确保计时器准确

    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)}秒。")

if __name__ == "__main__":
    guess_number_game()

代码说明

  1. 导入模块

    import random
    import time
    

    导入random模块用于生成随机数,导入time模块用于计时。

  2. 定义游戏函数

    def guess_number_game():
    
  3. 生成随机数

    secret_number = random.randint(1, 100)
    
  4. 初始化尝试次数和总时间

    attempts = 0
    total_time = 60  # 总时间限制为60秒
    
  5. 记录游戏开始时间

    start_time = time.time()
    
  6. 打印游戏说明和时间限制

    print("欢迎来到猜数字游戏!")
    print("我已经想好了一个1到100之间的数字。")
    print("看看你是否能在10次之内猜中它!")
    print(f"你有{total_time}秒的时间来完成游戏。")
    
  7. 进入猜数字循环

    while attempts < 10:
    
  8. 显示剩余时间

    remaining_time = total_time - (time.time() - start_time)
    print(f"剩余时间:{int(remaining_time)}秒")
    
  9. 获取玩家输入并处理异常

    try:
        guess = int(input("猜一个数字:"))
    except ValueError:
        print("请输入一个有效的整数!")
        continue
    
  10. 检查玩家猜测

    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
    
  11. 等待1秒以确保计时器准确

    time.sleep(1)
    
  12. 检查是否达到时间限制

    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)}秒。")
    
  13. 调用游戏函数

    if __name__ == "__main__":
        guess_number_game()
    

通过这个修改,游戏会在每次玩家猜测后显示剩余时间,并且会在时间用尽时结束游戏。

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页