全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python编程实战:制作秒表程序

答案是做一个支持计时、暂停和分段记录的Python秒表程序。先用time模块获取时间差实现基础计时,再通过循环与实时刷新提升交互体验,最后扩展功能支持圈数记录与用户指令响应,逐步掌握编程核心技巧。

想用Python写一个实用又有趣的程序?做个秒表是个不错的起点。它不复杂,但能帮你掌握时间处理、循环控制和用户交互等核心编程技巧。下面带你一步步实现一个功能完整的秒表程序。

1. 基础结构:用time模块计时

Python的time模块提供了获取当前时间的功能,适合做秒表的基础。我们用time.time()记录起始和结束时刻,相减得到经过的时间。

示例代码:

import time

print("按回车开始,再按回车停止") input() # 等待开始 start_time = time.time() print("计时开始...") input() # 等待停止 end_time = time.time()

elapsed = end_time - start_time print(f"经过时间: {elapsed:.2f} 秒")

2. 提升体验:实时显示计时

真正的秒表应该持续刷新当前耗时。我们可以用一个循环不断计算并打印时间,直到用户按下停止指令。

关键点:

  • 使用try-except捕获键盘中断(如Ctrl+C)或输入信号
  • time.sleep(0.1)避免过度占用CPU
  • 每0.1秒刷新一次显示,看起来更平滑

import time

def run_stopwatch(): print("按回车开始,Ctrl+C 停止") input() start_time = time.time() print("计时中...")

try:
    while True:
        current = time.time() - start_time
        print(f"\r已运行: {current:.2f} 秒", end="")
        time.sleep(0.1)
except KeyboardInterrupt:
    print(f"\n停止,总时间: {current:.2f} 秒")

3. 完整功能:支持暂停与多段计时

进阶版可以加入“暂停”和“分段时间”功能,类似运动秒表。我们需要跟踪多个状态:是否正在运行、累计时间、暂停次数等。

思路:

  • 用布尔变量running判断是否在计时
  • 每次按空格记录一段 lap 时间
  • 按s键保存lap,按q退出

import time

def advanced_stopwatch(): print("开始计时 (按 Enter)") input() start_time = last_lap = time.time() lap_num = 1 print("计时中... 按 Enter 记录圈数,输入 q 后回车退出")

while True:
    cmd = input().strip().lower()
    if cmd == "":
        lap_time = time.time() - last_lap
        total = time.time() - start_time
        print(f"圈 {lap_num}: {lap_time:.2f} 秒 (总计: {total:.2f})")
        last_lap = time.time()
        lap_num += 1
    elif cmd == "q":
        total = time.time() - start_time
        print(f"计时结束,总耗时: {total:.2f} 秒")
        break

基本上就这些。你可以从最简单的版本开始,逐步添加功能。关键是理解时间差的计算逻辑和用户输入的响应方式。自己动手改一改,比如加上毫秒精度、格式化输出成“分:秒”样式,会让这个小项目更有成就感。


# python  # python编程  # 格式化输出  # elif 


相关文章: 教学网站制作软件,学习*后期制作的网站有哪些?  七夕网站制作视频,七夕大促活动怎么报名?  家庭建站与云服务器建站,如何选择更优?  高端网站建设与定制开发一站式解决方案 中企动力  如何通过智能用户系统一键生成高效建站方案?  c# 在ASP.NET Core中管理和取消后台任务  制作宣传网站的软件,小红书可以宣传网站吗?  javascript中的try catch异常捕获机制用法分析  广州建站公司哪家好?十大优质服务商推荐  香港服务器部署网站为何提示未备案?  如何通过.red域名打造高辨识度品牌网站?  如何在阿里云域名上完成建站全流程?  如何用西部建站助手快速创建专业网站?  如何选择可靠的免备案建站服务器?  相册网站制作软件,图片上的网址怎么复制?  如何快速选择适合个人网站的云服务器配置?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  建站之星会员如何解锁更多建站功能?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何通过商城自助建站源码实现零基础高效建站?  小建面朝正北,A点实际方位是否存在偏差?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  韩国服务器如何优化跨境访问实现高效连接?  TestNG的testng.xml配置文件怎么写  如何通过可视化优化提升建站效果?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站之星如何修改网站生成路径?  定制建站流程步骤详解:一站式方案设计与开发指南  如何在阿里云高效完成企业建站全流程?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建设网站制作价格,怎样建立自己的公司网站?  招商网站制作流程,网站招商广告语?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  PHP正则匹配日期和时间(时间戳转换)的实例代码  建站168自助建站系统:快速模板定制与SEO优化指南  高防服务器租用如何选择配置与防御等级?  公司网站设计制作厂家,怎么创建自己的一个网站?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  建站ABC备案流程中有哪些关键注意事项?  如何快速搭建高效简练网站?  如何挑选优质建站一级代理提升网站排名?  如何在云虚拟主机上快速搭建个人网站?  如何通过wdcp面板快速创建网站?  已有域名和空间如何快速搭建网站?  如何续费美橙建站之星域名及服务?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  ,柠檬视频怎样兑换vip?  实现点击下箭头变上箭头来回切换的两种方法【推荐】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。