当前位置: 首页 > news >正文

蓝桥杯算法之基础知识(6)

目录

Ⅰ.os操作

Ⅱ.时间库(很重要)

Ⅲ.基本单位换算(ms,min,h的单位换算)

Ⅳ.时间戳

Ⅴ.文件读取

Ⅵ.堆

Ⅶ.math操作

Ⅷ.range()方法单独使用

Ⅸ.python 的异常输出

Ⅹ.for-else 和while-else


Ⅰ.os操作

Ⅱ.时间库(很重要)

Ⅲ.基本单位换算(ms,min,h的单位换算)


基本单位换算
1 秒 = 1000 毫秒
1 分钟 = 60 秒
1 小时 = 60 分钟 = 3600 秒


转换步骤
将毫秒转换为秒:

毫秒数除以 1000,得到总秒数。
例如,46800999 毫秒 = 46800999 // 1000 = 46800 秒。
计算小时:

总秒数除以 3600(1 小时 = 3600 秒),得到小时数。
例如,46800 // 3600 = 13 小时。
计算剩余的分钟:

总秒数对 3600 取模,得到剩余的秒数。
剩余的秒数除以 60(1 分钟 = 60 秒),得到分钟数。
例如,46800 % 3600 = 0 秒,0 // 60 = 0 分钟。
计算剩余的秒:

剩余的秒数对 60 取模,得到秒数。
例如,0 % 60 = 0 秒。


3. 代码中的转换逻辑

# 将毫秒转换为秒
total_seconds = milliseconds // 1000
#milliseconds // 1000:将毫秒数除以 1000,得到总秒数。
PYTHON
# 计算小时、分钟和秒
hours = (total_seconds // 3600) % 24
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60  当然也可以seconds = (total_seconds%3600) % 60return f"{hours:02d}:{minutes:02d}:{seconds:02d}"

Ⅳ.时间戳

定义

  • 时间戳:记录时间的数字,单位可以是秒、毫秒等。---一般是毫秒

  • 参考时间:通常是 Unix 纪元(1970-01-01 00:00:00 UTC)。

  • 用途:标记事件发生的时间,方便计算时间差。

*判断相邻毫秒时间戳小于1s---即两个相邻时间戳差 ≤ 1000 毫秒。

Ⅴ.文件读取

with open("log.txt", "r") as file:lines = file.readlines()
  1. with open("log.txt", "r") as file::

    • open("log.txt", "r"):

      • 打开名为 "log.txt" 的文件。

      • "r":以只读模式(read)打开。

    • with ... as file::

      • 使用 with 语句,确保文件操作完后自动关闭。

      • file 是文件对象,代表打开的 "log.txt"。

  2. lines = file.readlines():

    • file.readlines():

      • 读取 file 的所有行。

      • 返回一个列表,每个元素是一行文本(包含换行符 \n)。

    • lines:

      • 变量,存储读取的行列表。

Ⅵ.堆

heap[0]----堆顶元素

将列表转换为最大堆
如果需要将现有列表转换为最大堆,可以使用 heapq.heapify(),同时将元素取反:


import heapq

# 原始列表
nums = [3, 1, 2]

# 将元素取反后转换为堆
heap = [-x for x in nums]
heapq.heapify(heap)

# 查看堆顶元素(取反还原)
max_item = -heap[0]
print("堆顶元素:", max_item)  # 输出:3

# 弹出元素(取反还原)
max_item = -heapq.heappop(heap)
print("弹出元素:", max_item)  # 输出:3
print("堆中剩余元素:", [-x for x in heap])  # 输出:[2, 1]
最大堆的常用操作
以下是最大堆的常用操作及其实现方式:

1. 插入元素heapq.heappush(heap, -item)
2. 弹出元素max_item = -heapq.heappop(heap)
3. 查看堆顶元素max_item = -heap[0]
4. 将列表转换为最大堆heap = [-x for x in nums]
heapq.heapify(heap)

Ⅶ.math操作

Ⅷ.range()方法单独使用

Ⅸ.python 的异常输出

Ⅹ.for-else 和while-else

http://www.xdnf.cn/news/1448047.html

相关文章:

  • Netty从0到1系列之Channel
  • 【 线段树】P12347 [蓝桥杯 2025 省 A 第二场] 栈与乘积|普及+
  • 基于 HTML、CSS 和 JavaScript 的智能图像灰度直方图分析系统
  • HTML全屏功能实现汇总
  • npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
  • 求单源最短路(Dijkstra 算法-迪杰斯特拉算法,SPFA)
  • 【Unity基础】两个关于UGUI中Text对非英文字体支持的问题
  • SpringAI应用开发面试全流程:技术原理、架构优化与企业场景解析
  • 复写零(双指针)
  • JavaScript学习最后一章节(小练习)
  • 如何解决虚拟机网络连接问题:配置固定 IP 篇
  • Spring Authorization Server 1.5.2 使用YML配置的方式,最常用法总结
  • 【算法--链表】141.环形链表(通俗讲解链表中是否有环)
  • 分布式AI算力系统番外篇-----超体的现世《星核》
  • 强化学习中的模仿学习是什么?
  • 相关性分析与常用相关系数
  • react的 hooks 是如何存储的
  • HTML第七课:发展史
  • Streamlit 数据看板模板:非前端选手快速搭建 Python 数据可视化交互看板的实用工具
  • 如何画时序图、流程图
  • android集成unity后动态导入 assetsBundle
  • Android创建demo脚本
  • CSS中使用 HSL(Hue, Saturation, Lightness) 动态生成色值
  • Linux 对目录授予用户读写权限的方法
  • 信创MySQL到达梦数据库的SQL语法转换技术解析
  • AWK命令完全指南:从理论到实战的文本处理利器
  • Spring Boot + Nacos 配置中心示例工程
  • tcpdump用法
  • Best Video网页官网入口 – 免费在线网页视频解析下载器
  • 认识HTML