Python基础语法练习题(53-54)
接着下面两题。第五十三题遍历打印任意区间耗时计算#编写一个程序该程序将遍历用户指定区间内的所有整数同时计算并输出整个遍历过程所消耗的总时间 #导入time模块 import time #获取用户输入的区间 start int(input(请输入区间开始值)) end int(input(请输入区间结束值)) #定义变量保存循环开始时间perf_counter 是单调高精度计时器比 time.time() 更适合统计代码耗时 start_time time.perf_counter() #定义变量保存遍历过程中的累加结果 total 0 for i in range(start,end 1): total i # 只计算不打印避免控制台输出占据绝大部分耗时 #定义变量保存循环结束时间 end_time time.perf_counter() print(遍历过程所消耗的总时间,end_time - start_time)代码思路分析如下我的设计还是三明治掐表但换了块更准的表框架和 52 题一样干活前按一次表、干活后按一次表相减即耗时。这题我做了三处升级——第一区间交给用户。 两次 int(input()) 拿到起止值range(start, end 1) 现场铺名单。注意那个 1range 左含右不含不加一拍用户输入的结束值就被漏掉了。第二循环体里不 print改成累加。 52 题我发现耗时大头是屏幕输出而不是循环本身所以这次把 print(i) 换成 total i——循环照样满负荷转但不产生任何 I/O量出来才是纯计算的真实耗时。同时 total 变量保证了循环不是空转累加器套路和 49 题验证码拼接一模一样。第三表换成了 time.perf_counter()。 time.time() 是墙上时钟精度一般还可能被系统时间调整干扰perf_counter 是专门的高精度单调计时器只为测量经过了多久而生测毫秒级的代码段比 time.time() 靠谱得多。这也是我第一次体会到同样是掐表工具还分业余和专业。总结一句话问出区间、加一拍铺名单、用累加代替打印、用专业秒表代替日历。这题让我摸到了性能测试的门槛——想让数字可信就得先排除干扰项再选对量具。第五十四题时间字符串转时间戳#给定一个表示时间的字符串要求将其转化为以秒为单位的整数时间戳 #导入time模块 import time #时间字符串(格式1) a1 2025-4-10 23:40:00 #使用time.strptime()将时间字符串转换为时间数组(步骤1) time_array time.strptime(a1, %Y-%m-%d %H:%M:%S) print(time_array) #使用time.mktime()将时间数组转换为时间戳(步骤2) timestamp int(time.mktime(time_array)) print(timestamp) #时间字符串(格式2) a2 2025/4/10 23:40:00 #格式同上修改占位符格式-为/即可 time_array time.strptime(a2, %Y/%m/%d %H:%M:%S) print(time_array) timestamp int(time.mktime(time_array)) print(timestamp)代码思路分析如下我的思路倒着走 51 题的翻译流水线51 题我练的是时间戳 → struct_time → 字符串的正向翻译这题要求反着来拿到人读的字符串最终产出机器读的秒数。但字符串和秒数之间没法一步到位必须借 struct_time 当中转站所以整个程序就是两步走步骤1strptime(字符串, 格式) —— 按图索骥拆零件。 光给字符串它不知道怎么拆我得提供一张模板告诉它哪个位置是什么%Y 四位年、%m 月、%d 日、%H:%M:%S 时分秒。strptime 照模板把字符串拆成 struct_time——函数名里的 p 就是 parse解析正好和 51 题的 asctime、ctime 形成反向对偶。步骤2mktime(struct_time) —— 组装回时间戳。 mk 即 make把零件时间制造回自 1970 年起的秒数。结果默认带小数我外面套了个 int()按题意取整。一个细节格式串必须和字符串长得一模一样程序里我用两种格式2025-4-10 和 2025/4/10各走了一遍流程代码唯一的改动是把模板里的 - 换成 /。这让我踩过点后明白占位符的分隔符不是摆设必须和原文严格对应——模板写 %Y-%m-%d 却喂给它 2025/4/10strptime 会当场抛 ValueError。另外 %m、%d 对 4 这种一位数也宽容补不补零都能认。总结一句话strptime 拆、mktime 装struct_time 当中间人。加上 51 题时间三种形态的正反两条翻译线我总算走全了——以后不管拿到文本时间还是秒数时间都知道怎么换乘了。

相关新闻

智诺方 AI|论文修改两步走:分清降重和降 AIGC,别再踩修改误区!智诺方AI|论文修改两步走:分清降重和降AIGC,别再踩修改误区!

智诺方 AI|论文修改两步走:分清降重和降 AIGC,别再踩修改误区!智诺方AI|论文修改两步走:分清降重和降AIGC,别再踩修改误区!

智诺方AI|论文修改两步走:分清降重和降AIGC,别再踩修改误区!官网 https://www.znfai.cn,微信服务号搜一搜 智诺方 ai 很多本科、硕博生在论文定稿阶段都会陷入同一个误区:认为降重就等于降低AIGC检测风险&a…

2026/11/8 12:58:54 阅读更多 →
video-autopilot-kit 知识层拆解:YouTube 算法五模式与脚本留存三支柱,让发片决策不再靠猜

video-autopilot-kit 知识层拆解:YouTube 算法五模式与脚本留存三支柱,让发片决策不再靠猜

video-autopilot-kit 知识层拆解:YouTube 算法五模式与脚本留存三支柱,让发片决策不再靠猜 【免费下载链接】video-autopilot-kit Fill-in-your-own-data framework for YouTube / short-form video automation: CapCut JSON ffmpeg tooling an onboar…

2026/10/27 22:46:16 阅读更多 →
Unity-TextMeshPro

Unity-TextMeshPro

首先你要找到中文字体,记住一定是中文字体这种都不是中文字体这种才是字体找到后拖入到项目中,然后你需要找到中文字库,3500,7000字,在github上就有,同样也是要拖入项目中成功生成很少的话,就把…

2026/11/5 4:18:52 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/8 1:19:03 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/8 1:35:05 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/8 1:38:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/8 1:23:14 阅读更多 →

日新闻

周新闻

月新闻