欢迎访问宙启技术站
智能推送

如何用Python编写一个简单的秒表程序

发布时间:2024-01-01 01:18:09

编写一个简单的秒表程序可以使用 Python 的系统库 timedatetime

首先,导入时间相关的库:

import time
from datetime import datetime

接下来,创建一个类 Stopwatch

class Stopwatch:
    def __init__(self):
        self.start_time = None
        self.end_time = None

    def start(self):
        self.start_time = datetime.now()

    def stop(self):
        self.end_time = datetime.now()

    def elapsed_time(self):
        if self.start_time is None:
            return None
        
        if self.end_time is None:
            elapsed = datetime.now() - self.start_time
        else:
            elapsed = self.end_time - self.start_time
        return elapsed

    def reset(self):
        self.start_time = None
        self.end_time = None

代码解释:

- __init__ 方法用于初始化秒表的起始时间和结束时间。

- start 方法用于开始计时,将当前时间保存为起始时间。

- stop 方法用于结束计时,将当前时间保存为结束时间。

- elapsed_time 方法用于计算经过的时间。如果只有起始时间而没有结束时间,则返回当前时间与起始时间的差值。如果有起始时间和结束时间则返回两者的差值。

- reset 方法用于重置秒表,将起始时间和结束时间都设置为 None。

现在,可以创建一个 Stopwatch 对象,并使用它来计时:

if __name__ == '__main__':
    stopwatch = Stopwatch()

    # 开始计时
    stopwatch.start()

    # 模拟一段运行时间
    time.sleep(2)

    # 结束计时
    stopwatch.stop()

    # 输出经过的时间
    elapsed = stopwatch.elapsed_time()
    print(f'Elapsed time: {elapsed.seconds} seconds and {elapsed.microseconds} microseconds')

    # 重置秒表
    stopwatch.reset()

运行程序,将会输出经过的时间。

这是一个简单的秒表程序的实现。你可以根据需要,对其进行拓展,比如添加暂停和继续功能,或者将经过的时间保存到文件中等等。