051. 编写一个函数,实现简单的定时器功能

以下是一个简单的Python函数,用于实现定时器功能。这个定时器可以设置一个时间间隔(以秒为单位),并在时间到达时提醒用户。

import time

def simple_timer(seconds):
    """
    简单的定时器函数
    :param seconds: 定时的秒数
    """
    print(f"定时器开始,将在 {seconds} 秒后提醒您!")
    time.sleep(seconds)  # 等待指定的秒数
    print("时间到!")

# 示例:设置一个10秒的定时器
simple_timer(10)

代码说明:

  1. time.sleep(seconds):这是time模块中的一个函数,用于暂停程序的执行,暂停的时间为指定的秒数。
  2. print语句:在定时器开始时和时间到达时分别打印提示信息。

示例运行:

假设你调用simple_timer(10),程序会输出:

定时器开始,将在 10 秒后提醒您!

然后程序会暂停10秒,之后输出:

时间到!

扩展功能

如果你需要一个更复杂的定时器,比如带有倒计时显示的定时器,可以这样实现:

import time

def countdown_timer(seconds):
    """
    带倒计时显示的定时器
    :param seconds: 定时的秒数
    """
    print(f"倒计时开始,总共 {seconds} 秒!")
    while seconds > 0:
        mins, secs = divmod(seconds, 60)  # 将秒数转换为分钟和秒
        timer = f"{mins:02d}:{secs:02d}"  # 格式化为两位数的分钟和秒
        print(timer, end="\r")  # 在同一行更新显示
        time.sleep(1)
        seconds -= 1
    print("时间到!")

# 示例:设置一个30秒的倒计时定时器
countdown_timer(30)

代码说明:

  1. divmod(seconds, 60):将总秒数分解为分钟和秒。
  2. f"{mins:02d}:{secs:02d}":格式化时间为两位数的分钟和秒。
  3. print(timer, end="\r"):使用\r(回车符)在同一行更新倒计时显示。
  4. time.sleep(1):每次暂停1秒。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)