Python基础语法练习题(51-52)
今天接着来记录两个基础语法练习题。第五十一题时间处理#编写一个程序使用time模块来实现时间处理功能 #导入time模块用于处理时间相关的任务 import time #获取当前时间的时间戳即自1970-01-01 00:00:00以来的秒数 current_timestamp time.time() print(current_timestamp) #将时间戳转换为本地时间的字符串。若没有指定参数则默认当前时间戳 #获取当前时间的字符串表示 current_time_str1 time.ctime() print(current_time_str1) #获取指定时间的字符串表示 specified_time_str time.ctime(1717102524) print(specified_time_str) #将时间戳转化为本地时间的struct_time对象(年月日时分秒等)。若没有指定参数则默认当前时间戳 #获取当前时间的struct_time对象 current_local_time time.localtime() print(current_local_time) #获取指定时间的struct_time对象 specified_local_time time.localtime(1617102524) print(specified_local_time) #将时间戳转化为UTC时间的struct_time对象。若没有指定参数则默认当前时间戳 #获取当前时间的UTC时间的struct_time对象 current_utc_time time.gmtime() print(current_utc_time) #获取指定时间的UTC时间的struct_time对象 specified_utc_time time.gmtime(1617102524) print(specified_utc_time) #将struct_time转化为特定格式的字符串表示(格式为年-月-日 时:分:秒) local_formatted_time_string time.asctime(time.localtime()) print(local_formatted_time_string)代码思路分析如下我的总体思路先搞清时间有三种长相这题和 48 题一样是模块使用者思路——不自己造逻辑把 time 家族的函数认清就行。但我发现光背函数名没用关键是想明白时间在 Python 里存在三种形态这题本质上是在练三种形态互相翻译第一种时间戳time.time()——一个巨大的浮点数含义是从 1970 年 1 月 1 日零点到现在一共走了多少秒。它是给机器算的两相减就是耗时我做 56 题秒表时用的就是它但人眼看它是一脸懵的。第二种struct_time 对象localtime() / gmtime()——把秒数拆解成零件年、月、日、时、分、秒、星期、一年中第几天……打包成一个结构。它是给程序加工的你想单独拿今年年份或当前小时就得从它身上取。第三种字符串ctime() / asctime()——格式化成人能读的文本。它是给人看的。逐个函数过一遍我的用法1. time.time()一切的原点。 先打出当前时间戳后面所有转换的原料都是它。2. time.ctime()一步到位变人话。 把时间戳直接翻译成 Wed Oct 07 ... 2026 这种字符串。我注意到它传不传参数都行不传默认当前时间传一个具体数字比如 1717102524就能翻译历史时刻——这个可选参数的设计在 localtime、gmtime 上同样成立是 time 家族的通用习惯。3. localtime() 和 gmtime()一对双胞胎只差时区。 两个函数干同样的活——把时间戳拆成 struct_time区别是 localtime 按本地时区拆gmtime 按 UTC 世界时拆。我对比过输出在中国两者永远差 8 小时。程序要跨地区统一记时间就找 gmtime跟本地用户打交道就找 localtime。4. time.asctime(time.localtime())函数套函数的组合技。 题目最后要把 struct_time 变回字符串但 asctime 只吃 struct_time、不吃时间戳所以我像套娃一样把 localtime() 的返回值直接塞给它——asctime(localtime(时间戳))一路秒数 → 零件 → 文本翻译下来正好把三种形态串了一遍。我发现的一个小坑ctime 和 asctime 别混两个都能输出人类可读字符串长得很像但入口不一样ctime 接时间戳数字asctime 接 struct_time对象。传错了程序直接报错。我的记法是ctime 的 c 是 from count秒数asctime 的 a 是 from struct 的变形——笨但好记。和前面题目的思路联系这题像是给我之前用过的 time 补了堂身份认知课56 题秒表里 time.time() 两相减、57 题猜数字里掐头尾算耗时那时我只会用它做减法今天才知道它还有 struct_time 和字符串这两种变身形态以及 sleep 之外的这么多正规工具。往后 54 题要做时间字符串转时间戳那是今天这套翻译的逆向工程正好对上。总结我的设计一句话以时间戳为原点把机器秒数、结构化零件、人类文本三种时间形态来回翻译了一遍。学这题最大的收获不是背下五个函数而是建立了时间有三种长相函数只是翻译官的心智模型——以后遇到时间处理先问自己我现在拿到的哪种形态我要的是哪种再挑对应的翻译官。第五十二题遍历打印0-2999耗时计算#编写一个程序该程序将遍历并打印0-2999的所有整数同时计算并输出整个遍历过程所消耗的总时间 #导入time模块 import time #定义变量保存循环开始时间 start_time time.time() for i in range(0,3000): print(i) #定义变量保存循环结束时间 end_time time.time() print(遍历过程所消耗的总时间,end_time - start_time)代码思路分析如下我的设计模型三明治掐表法这题的核心逻辑简单粗暴我把时间测量想象成做三明治任务夹在中间两片时间面包一前一后——干活之前先 time.time() 按一下表存进 start_time中间正常干活遍历 打印干完活立刻再 time.time() 按一下存进 end_time两表相减就是活儿花掉的时间。其实这个套路我并不陌生56 题秒表是回车按下取一次、回车再停放一次57 题猜数字是开局取一次、猜中放一次。全都是同一个掐表模型这题只是把它用在了给代码本身计时上——从给人计时升级到给程序计时这就是最简单的性能测试入门。遍历部分的老熟人 一个新注意for i in range(0, 3000) 打印 0 到 2999——题面写0-2999代码却写 3000因为 range 左含右不含想要 2999 在场就得把右边界报到 3000。这已经是系列里第四次被 range 的边界上课了49 题验证码、50 题抽样、51 题之后、这回又来一遍我算是真记住了range 的终点永远差一拍。我观察到的一个有意思的现象跑起来后我发现两件事第一屏幕上 3000 个数字哗地滚完耗时却比我想象的大。 这提醒我这段代码真正慢的不是 for 循环本身而是 print——每次往屏幕输出都要和操作系统打交道I/O 操作3000 次输出才是时间大头。以后要是想只测循环、不测打印把 print(i) 换成 pass 再掐表数字会小很多。这就是给代码计时最有意思的地方表不会骗你但你要知道表里夹的是什么活。第二我这次没有对结果做 round(..., 2) 保留小数直接打印原始差值看到的是完整精度的一长串小数。56 题秒表展示给用户看所以修成两位这题是开发者自己看性能留全精度反而方便做前后对比——同一份输出精度的选择取决于给谁看。和前面题目的思路联系51 题我系统认识了 time 的三种形态时间戳 / struct_time / 字符串那时我就注意到 time.time() 返回的是时间戳——1970 年起累计的秒数。这题正好解释了它为什么存在两个巨大的、人眼看不懂的数字相减得到的恰好是最有用的经过了多久。时间戳这种机器形态不适合阅读却天生适合做减法51 和 52 合在一起才是 time 模块完整的上半课。总结我的设计一句话前后各按一次表中间夹任务差值即耗时。这个三明治掐表法是性能分析的种子选手——以后凡是遇到这段代码慢不慢、优化后快了多少的问题都可以先拿它量一量。下一题53正好是这个模型的加强版让用户自己指定区间来对比耗时看我怎么把这套掐表逻辑包装得更通用。

相关新闻

我把印象笔记的「加密导出」掰开揉碎,最后用一招绕过了它——本地明文库直提全攻略

我把印象笔记的「加密导出」掰开揉碎,最后用一招绕过了它——本地明文库直提全攻略

我把印象笔记的「加密导出」掰开揉碎,最后用一招绕过了它——本地明文库直提全攻略一次真实的自救:7 个 .notes 文件、7.7GB、正文全是密文。本文记录从逆向加密格式到最终 601 条笔记无损导出的全过程,包括每一步的踩坑、调试和验证方法。脚…

2026/10/8 6:48:48 阅读更多 →
在Word中快速实现同类内容应用“双行合一”格式

在Word中快速实现同类内容应用“双行合一”格式

最近在将金瓶梅词话HTML版改编成带目录与页眉且支持交叉链接的Word文档过程中&#xff0c;想将其中的批注处理成双行合一格式。书中共有三种批注&#xff1a;眉批、侧批、夹批。HTML代码分别是下面这几种形式&#xff1a;眉批&#xff1a;<span class"comment top-comm…

2026/10/8 6:48:48 阅读更多 →
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型

Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型

概述 服务注册进 Nacos 之后&#xff0c;一个服务往往有多个实例&#xff0c;这些实例如果分散在全国不同的机房&#xff0c;调用方该怎么选&#xff1f;Nacos 在「服务 → 实例」之间又插了一层「集群」&#xff0c;就是为了让调用尽量落在同机房。 纲要 三级结构&#xff…

2026/10/8 6:48:48 阅读更多 →

最新新闻

Python ai-html-parse 包实战案例与常见错误

Python ai-html-parse 包实战案例与常见错误

1. 引言在 Python 爬虫与数据清洗领域&#xff0c;解析 HTML 是绕不开的核心环节。虽然 BeautifulSoup、lxml 等老牌库功能强大&#xff0c;但面对结构复杂、属性繁多的现代网页&#xff0c;开发者往往需要编写大量样板代码。ai-html-parse 正是为解决这一痛点而生的新一代 HTM…

2026/10/9 14:05:07 阅读更多 →
DAY7 CSS184-196

DAY7 CSS184-196

DAY1→HTML1-29 DAY2→HTML29-53 DAY3→HTML&CSS53-79 DAY4→CSS79-108 DAY5→CSS108-133 DAY6→CSS133-147&182-183 61.伸缩盒模型 &#xff08;一&#xff09;简介 &#xff08;1&#xff09;轻松控制元素分布方式&#xff0c;元素对齐方式&#xff0c;元素视觉顺序…

2026/10/9 14:05:07 阅读更多 →
Oracle 11g实例脚本运行全攻略:从环境配置到排错调优

Oracle 11g实例脚本运行全攻略:从环境配置到排错调优

简介&#xff1a;《Oracle 11g从入门到精通&#xff08;第二版&#xff09;》实例源程序包&#xff0c;面向Oracle初学者与需要系统提升数据库技能的开发、运维人员&#xff0c;覆盖19个章节的配套代码&#xff0c;帮助读者通过动手实践理解数据存储、查询优化、事务处理及备份…

2026/10/9 14:05:07 阅读更多 →
数据库课设实战:学生体质健康管理系统SQL建模与查询优化

数据库课设实战:学生体质健康管理系统SQL建模与查询优化

简介&#xff1a;这是一套面向计算机相关专业学生的数据库课程设计完整交付包&#xff0c;以学生体质健康管理系统为选题&#xff0c;适合作为期末大作业、课程设计或毕业设计的参考范例&#xff0c;也便于初学者通过实战理解数据库设计与应用开发的完整流程。压缩包共包含5个文…

2026/10/9 14:05:07 阅读更多 →
斐波那契数列从兔子问题到1000内列表:四种解法与工程实践

斐波那契数列从兔子问题到1000内列表:四种解法与工程实践

1. 从一对兔子说起&#xff1a;斐波那契数列到底在描述什么很多人第一次听到“斐波那契数列”这五个字&#xff0c;脑子里冒出来的是一串冷冰冰的数字&#xff1a;1、1、2、3、5、8、13、21……然后就是无穷无尽的递推公式和编程题。但如果你真的回到这个数列被提出的原始场景&…

2026/10/9 14:05:07 阅读更多 →
计算机毕设项目4:基于springboot+uniapp自习室预约小程序(含AI智能预约+候补转正+座位AI协商)

计算机毕设项目4:基于springboot+uniapp自习室预约小程序(含AI智能预约+候补转正+座位AI协商)

所有项目已经整理完毕&#xff0c;后续的还在整理。更多项目&#xff0c;请联系我。 更多项目可以看&#xff1a;2026全新计算机毕设选题&#xff08;小众&#xff0c;含创新点&#xff09;-CSDN博客 所有成品和定制&#xff0c;均先免费部署&#xff0c;不需要定jin&#xff…

2026/10/9 14:04:07 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题&#xff0c;隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题&#xff0c;排查到最后发现是ZonedDateTime序列化后时区丢了&#xff0c;用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问&#xff1a;办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好&#xff0c;问题是工作场景经常要在几处环境之间来回切换&#xff0c;每次都先登录跳板机再层层代理&#xff0c;实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及&#xff0c;但真正动手搭过一套能跑起来的 Agent 系统的人都知道&#xff0c;从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地&#xff0c;从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →