候机时间计算(数学小题目,练习时间字符串“解析”)

news2024/11/26 10:16:40

时间字符串的简单处理,可自行解析也可以调库。


(笔记模板由python脚本于2024年10月10日 18:06:42创建,本篇笔记适合有基本编程逻辑的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


简单处理时间字符
候机时间计算
(可自行解析也可以调库)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/142828707

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 候机时间计算
    • 1、题目描述
    • 2、简单解题
    • 3、完善算法
    • 4、代码优化
    • 5、timedate库对代码精炼
    • 6、结论


◆ 候机时间计算


1、题目描述


  • 题目描述截屏图片

在这里插入图片描述


题目来源于 CSDN 问答社区提问“问题标题”



回页目录


2、简单解题


  题目没有限制输入时间格式,本脚本作输入格式限制:hh:mm:ss(对8:19:9容错,可以接受不补零占位的输入)。

  考虑到是大一新生学习,先不建议直接调用时间处理库,直接“手动”解析字符串输入。


  根据题目描述我的代码采取简单逻辑: 输入两个时间字符串,求正差(即候机时间);数学计算得先将“字符串数值化”(即转整int);差值转回字符串常规时间输出(可以格式化去除前导0时0分的输出)


详细代码

#!/sur/bin/nve python3
# coding: utf-8


# 题目没有限制输入时间格式,本脚本作输入格式限制:hh:mm:ss

# 考虑到是大一新生学习,不直接调用时间处理库,直接解析字符串输入

def time_to_s(s: str) -> int:
    '''
     解析字符串格式化时间
     返回时间秒整数
     '''
     
    # 请确保正确输入,本代码不调输入验证模块
    h, m, s = map(int, s.split(':')) # 拆分时分秒并转int
    return s + m*60 + h*60**2 # 计算并返回秒整数
     

def main() -> None:
    ''' 主程序 '''
    s = input(f"\n\n飞机起飞时间:").strip() # 接收键盘输入并去除前后空格
    arto_time = time_to_s(s)
    s = input(f"\n\n到达机场时间:").strip() # 接收键盘输入并去除前后空格
    arrival_time = time_to_s(s)
    D_value = arto_time - arrival_time
    
    # 时间还原时分秒
    h = D_value // (60*60)
    D_value -= h*60*60 # 更新时间差秒
    m = D_value // 60
    D_value -= m*60 # 更新时间差秒
    
    # 格式化输出
    str_D = f"{h}{m}{D_value}秒" if h and m else f"{m}{D_value}秒" if m else f"{D_value}秒"
    print(f"\n\n{f' 候机时间:{str_D} ':-^30}\n\n") 


if __name__ == '__main__':
    main() # 直接运行本脚本执行main


  • 代码运行效果截屏展示
    在这里插入图片描述
    在这里插入图片描述
    (这两个示例仅作代码功能展示,这合事实😋)


    在这里插入图片描述

  • 代码解读
    在这里插入图片描述



回页目录


3、完善算法


  我的代码没有错误校验和对跨越一天的两个时间的处理能力,得增添“模块”。


修正跨越零点的两个时间产生的负时差


def out_day(D_value: int) -> int:
    ''' 跨越一天时间处理 '''
    return 24*60*60 + D_value


时间格式校验


def time_split(s: str) -> (int, int, int):
    ''' 解析字符串格式化时间 '''
    try:
        h, m, s = map(int, s.split(':')) # 拆分时分秒并转int
    except ValueError as e:
        raise ValueError(f"{' 时间格式错误 ':-^36}\n\n解释器异常提示:{e}")
    return h, m, s


时间数字校验


def is_time(time: str) -> bool:
    ''' 时间格式校验 '''
    h, m, s = time_split(time)
    
    if not 0 <= h < 24:
        raise ValueError(f"{' 小时数错误 ':-^37}\n\n解释器异常提示:{e}")
    if not 0 <= m < 60:
        raise ValueError(f"{' 分钟数错误 ':-^37}\n\n解释器异常提示:{e}")
    if not 0 <= s < 60:
        raise ValueError(f"{' 秒数错误 ':-^38}\n\n解释器异常提示:{e}")

    return True 


完整脚本

#!/sur/bin/nve python3
# coding: utf-8


# 题目没有限制输入时间格式,本脚本作输入格式限制:hh:mm:ss

# 考虑到是大一新生学习,不直接调用时间处理库,直接解析字符串输入


def time_to_s(h: int, m: int, s: int) -> int:
    ''' 时分秒化秒 '''
    return s + m*60 + h*60**2


def time_split(s: str) -> (int, int, int):
    ''' 解析字符串格式化时间 '''
    try:
        h, m, s = map(int, s.split(':')) # 拆分时分秒并转int
    except ValueError as e:
        raise ValueError(f"{' 时间格式错误 ':-^36}\n\n解释器异常提示:{e}")
    return h, m, s
     

def is_time(time: str) -> bool:
    ''' 时间格式校验 '''
    h, m, s = time_split(time)
    
    if not 0 <= h < 24:
        raise ValueError(f"{' 小时数错误 ':-^37}\n\n解释器异常提示:{e}")
    if not 0 <= m < 60:
        raise ValueError(f"{' 分钟数错误 ':-^37}\n\n解释器异常提示:{e}")
    if not 0 <= s < 60:
        raise ValueError(f"{' 秒数错误 ':-^38}\n\n解释器异常提示:{e}")

    return True 


def out_day(D_value: int) -> int:
    ''' 跨越一天时间处理 '''
    return 24*60*60 + D_value
    

def main() -> None:
    ''' 主程序 '''
    s = input(f"\n\n飞机起飞时间:").strip() # 接收键盘输入并去除前后空格
    is_time(s)
    arto_time = time_to_s(*time_split(s))
    s = input(f"\n\n到达机场时间:").strip() # 接收键盘输入并去除前后空格
    is_time(s)
    arrival_time = time_to_s(*time_split(s))
    D_value = arto_time - arrival_time
    
    if D_value < 0:
        D_value = out_day(D_value)
        
    # 时间还原时分秒
    h = D_value // (60*60)
    D_value -= h*60*60 # 更新时间差秒
    m = D_value // 60
    D_value -= m*60 # 更新时间差秒
    
    # 格式化输出
    str_D = f"{h}{m}{D_value}秒" if h and m else f"{m}{D_value}秒" if m else f"{D_value}秒"
    print(f"\n\n{f' 候机时间:{str_D} ':-^30}\n\n") 


if __name__ == '__main__':
    try:
        main() # 直接运行本脚本执行main
    except ValueError as e:
        print(f"\n\n{e}\n\n") 
        



回页目录


4、代码优化


#!/sur/bin/nve python3
# coding: utf-8


'''

题目没有限制输入时间格式,本脚本作输入格式限制:hh:mm:ss。

考虑到是大一新生学习,不直接调用时间处理库,直接解析字符串输入。

'''


def time_to_s(time: str) -> int:
    ''' 时间格式校验 '''
 
    try:
        h, m, s = map(int, time.split(':')) # 拆分时分秒并转int
    except ValueError as e:
        raise ValueError(f"{' 时间格式错误 ':-^36}\n\n解释器异常提示:{e}")
    
    # 时间数字校验 #
    if not 0 <= h < 24:
        raise ValueError(f"{' 小时数错误 ':-^37}\n\n")
    if not 0 <= m < 60:
        raise ValueError(f"{' 分钟数错误 ':-^37}\n\n")
    if not 0 <= s < 60:
        raise ValueError(f"{' 秒数错误 ':-^38}\n\n")

    return s + m*60 + h*60**2


def inputer(tip: str) -> str:
    ''' 键盘输入 '''
    return input(f"\n\n{tip}时间:").strip() # 接收键盘输入并去除前后空格


def main() -> None:
    ''' 主程序 '''
    SECONDS_IN_A_DAY = 24*60**2
    arto_time = time_to_s(inputer('飞机起飞'))
    arrival_time = time_to_s(inputer('到达机场'))
    D_value = arto_time - arrival_time
    D_value = SECONDS_IN_A_DAY + D_value if D_value < 0 else D_value
        
    # 时间还原时分秒
    h = D_value // (60*60)
    D_value -= h*60*60 # 更新时间差秒
    m = D_value // 60
    D_value -= m*60 # 更新时间差秒
    
    # 格式化输出
    str_D = f"{h}{m}{D_value}秒" if h and m else f"{m}{D_value}秒" if m else f"{D_value}秒"
    print(f"\n\n{f' 候机时间:{str_D} ':-^30}\n\n") 


代码逻辑导读:


1. 脚本概述
  本脚本旨在帮助用户计算从到达机场到飞机起飞的候机时间。脚本不依赖于时间处理库,而是通过解析用户输入的字符串来计算时间差。


2. 函数介绍

  • time_to_s(time: str) -> int
    • 功能:将用户输入的 hh:mm:ss 格式的时间字符串转换为总秒数。
    • 逻辑:首先尝试将字符串拆分为小时、分钟和秒,并转换为整数。然后,对小时、分钟和秒进行范围校验,确保它们在合理的范围内。最后,将时间转换为总秒数。

  • inputer(tip: str) -> str
    • 功能:提示用户输入时间,并返回用户输入的时间字符串。
    • 逻辑:显示提示信息,接收用户输入,并去除输入字符串的前后空格。

  • main() -> None
    • 功能:脚本的主函数,负责调用其他函数并输出最终的候机时间。
    • 逻辑:定义一天的总秒数常量,获取飞机起飞时间和到达机场时间,计算时间差。如果时间差为负数,表示跨越了一天,因此需要加上一天的总秒数。然后将时间差还原为时分秒格式,并格式化输出。

3. 异常处理
  脚本在处理用户输入和时间转换时可能会遇到 ValueError。为了确保用户能够得到清晰的错误信息,脚本在捕获到异常时会抛出一个包含详细错误信息的 ValueError


4. 执行流程

  • 脚本启动时,会检查是否作为主程序运行。
  • 如果是主程序,则执行 main 函数。
  • main 函数中,依次调用 inputer 函数获取用户输入,time_to_s 函数将输入转换为秒数,计算时间差,并输出结果。
  • 如果在执行过程中遇到 ValueError,脚本会捕获异常并打印错误信息。



回页目录


5、timedate库对代码精炼


#!/sur/bin/nve python3
from datetime import datetime, timedelta


def inputer(tip: str) -> datetime:
    ''' 键盘输入 '''
    time = input(f"\n\n{tip}时间:").strip() # 接收键盘输入并去除前后空格
    try:
        return datetime.strptime(time, '%H:%M:%S').time() # 返回datetime对象,datetime自有时间格式验证和时间数字校验,不用特意去写
    except ValueError as e:
        raise ValueError(f"{' 时间格式错误 ':-^36}\n\n解释器异常提示:\n{e}")
        

def main() -> None:
    ''' 主程序 '''
    arto_time = inputer('飞机起飞')
    arrival_time = inputer('到达机场')
    today_date = datetime.today().date()
    # 用当前年月日创建两个完整datetime对象方便求差
    time_difference = datetime.combine(today_date, arto_time) - datetime.combine(today_date, arrival_time)
    # 时间差为负,意味着两个时间跨越零点,需要修正
    time_difference = time_difference + timedelta(days=1) if time_difference.total_seconds() < 0 else time_difference
    h, m, s = map(int, str(time_difference).split(':'))
    out_str = f"{h}{m}{s}秒" if h and m else f"{m}{s}秒" if m else f"{s}秒"
    print(f"\n\n{f' 候机时间:{out_str} ':-^34}\n\n") # datetime对象不用特意格式化,它本身就是时间


if __name__ == '__main__':
    try:
        main() # 直接运行本脚本执行main
    except ValueError as e:
        print(f"\n\n{e}\n\n")


  • 输出还一样
    在这里插入图片描述

代码导读


脚本概述
  本脚本用于计算用户从到达机场到飞机起飞之间的候机时间。它通过接收用户输入的起飞时间和到达时间,计算两者之间的时间差,并以易读的格式输出结果。脚本使用了Python内置的datetime模块来处理时间数据。


模块导入

  • datetime: 导入用于处理日期和时间的类和方法。
  • timedelta: 导入用于表示两个日期或时间之间差异的类。

函数定义

inputer(tip: str) -> datetime.time

  • 功能:提示用户输入时间,并验证输入格式。
  • 参数tip - 一个字符串,用于指示用户正在输入的时间类型(例如,‘飞机起飞’或’到达机场’)。
  • 操作
    • 使用input()函数接收用户输入,并使用strip()移除前后空格。
    • 使用datetime.strptime()将输入的时间字符串转换为datetime.time对象。
    • 如果输入格式不正确,抛出并封装ValueError异常,提供错误信息和解释器异常提示。
  • 返回:一个datetime.time对象。

main() -> None

  • 功能:执行脚本的主要逻辑,计算并输出候机时间。
  • 操作
    • 调用inputer()函数获取起飞时间和到达时间。
    • 使用datetime.combine()结合当前日期和时间,创建两个datetime对象。
    • 计算两个时间对象之间的差异。
    • 如果时间差为负,表示时间跨越了午夜,因此需要通过添加timedelta(days=1)来修正。
    • 使用map()split()将时间差转换为小时、分钟和秒。
    • 根据时间差的存在情况,构造并输出格式化的时间字符串。

异常处理

  • if __name__ == '__main__':块中,脚本尝试执行main()函数。
  • 如果在执行过程中捕获到ValueError异常,脚本将打印出异常信息。

用户交互

  • 用户被提示输入起飞时间和到达时间,输入必须符合HH:MM:SS格式。
  • 如果输入格式不正确,脚本将显示错误信息并终止执行。

输出格式

  • 脚本以居中对齐的格式输出候机时间,格式美观且易于阅读。



回页目录


6、结论


  对任何问题的解决,都可以由简易始,逐步完善和精炼。这是一个较好的“处事”哲学



回页首


上一篇:  Python中优秀的“包”(包目录结构易于构建和管理,代码缩进层级变浅,方便维护和功能拓展)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2207369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MinIO 学习订阅服务

MinIO 的入门非常简单 — 只需几个简单的命令和一个 100 MB 的小二进制文件&#xff0c;您就可以立即启动并运行一个功能性开发环境。但是&#xff0c;为了在生产规模上利用 MinIO 的全部功能&#xff0c;我们鼓励专业人士更多地了解 MinIO 的广泛功能。我们推出了 MinIO 学习订…

Spring Boot课程问答:技术难题专家解答

摘要 随着信息互联网信息的飞速发展&#xff0c;无纸化作业变成了一种趋势&#xff0c;针对这个问题开发一个专门适应师生交流形式的网站。本文介绍了课程答疑系统的开发全过程。通过分析企业对于课程答疑系统的需求&#xff0c;创建了一个计算机管理课程答疑系统的方案。文章介…

企业远控私有化部署解决方案-内信互联

内信互联&#xff08;DoLink&#xff09;&#xff0c;是点量软件新推出的企业私有化远程控制系统解决方案。很多朋友对这个产品还不是很了解&#xff0c;今天点量小编就对其基础功能做一些详细说明&#xff0c;如果您想快速拥有自己的企业私有远程控制系统&#xff0c;欢迎联系…

xavier 在tensorflow pytorch中的应用,正太分布和均匀分布的计算公式不一样

Xavier初始化&#xff0c;也被称为Glorot初始化&#xff0c;是一种用于深度神经网络的权重初始化方法。这种方法是由Xavier Glorot和Yoshua Bengio在2010年的论文《Understanding the difficulty of training deep feedforward neural networks》中提出的。Xavier初始化的主要目…

bpmn-js 元素与布局渲染

BPMN-JS 是基于 BPMN 2.0来定义元素关联关系,并通过Diagram-js库来实现web可视化的显示和编辑工作。Diagram-js 也是由BPMN.IO组织开发的一个专门用于业务流程建模符号(BPMN)的可视化开源 JavaScript 库。 元素(Elements) BPMN 2.0(Business Process Model and Notation…

Windows docker 部署MiGPT+ 本地Ollama

1. 下载 MiGPT https://github.com/idootop/mi-gpt https://github.com/idootop/mi-gpt/releases/tag/v4.2.0 2. 运行 Ollama qwen模型 3.配置Mi GPT .env .migpt.js 运行docker 运行 需要上网 docker run -d --env-file D:\LLM\mi-gpt-4.2.0\.env -v D:\LLM\mi-gpt-4.2.0…

【读书笔记·VLSI电路设计方法解密】问题12:制造MOSFET晶体管的主要工艺步骤是什么

VLSI芯片是在半导体材料上制造的,这种材料的导电性介于绝缘体和导体之间。通过一种称为掺杂的工艺引入杂质,可以改变半导体的电气特性。能够在半导体材料的细小且定义明确的区域内控制导电性,促使了半导体器件的发展。结合更简单的无源元件(电阻、电容和电感),这些器件被…

3D汽车动画:技术、应用与行业影响

3D汽车动画&#xff0c;凭借其逼真的可视化效果和动态功能&#xff0c;已成为汽车行业展示创新和技术实力的重要工具。它不仅能够细致地呈现产品功能&#xff0c;还能模拟复杂的驾驶场景&#xff0c;帮助客户全面了解汽车的性能和设计。3D汽车动画的应用不仅加强了汽车设计展示…

给定任意非空有向图 G,输出 G 中所有 K 顶点的算法,并返回 K 顶点的个数。

已知优先图 G 采用邻接矩阵存储是&#xff0c;其定义如下 typedef struct { // 图的定义 int numVertices, numEdges; // 图中实际的顶点数和边数 char VerticesList[MAXV]; // 顶点表&#xff0c;MAXV为已定义常量 int Edge[MAXV]…

QD1-P9 HTML 超链接标签(a)上篇

本节学习&#xff1a;HTML 超链接标签&#xff0c;也就是 a 标签。 在前端开发中&#xff0c;<a>​ 标签是超链接&#xff08;anchor&#xff09;标签&#xff0c;用于创建指向其他网页、文件、位置等的链接。 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p9 简单示…

laravel DCAT 中如何修改面包屑导航栏内容

dcat中修改面包屑 一、背景二、找到设置的方法三、修改面包屑 一、背景 DCAT的页面还是非常干净的&#xff0c;当设置语言格式为zh_CN以后&#xff0c;发现面包屑导航还有英文&#xff0c;如下图所示&#xff1a; 二、找到设置的方法 根据dcat文档介绍&#xff0c;页面分为…

IPv 4

IP协议 网络层主要由IP&#xff08;网际协议&#xff09;和ICMP&#xff08;控制报文协议&#xff09;构成&#xff0c;对应OSI中的网络层&#xff0c;网络层以实现逻辑层面点对点通信为目的。目前应用最广泛的IP协议为IPv4 基本概念给出 主机&#xff1a;配有IP地址但不具有路…

Visual Studio Code基础:使用debugpy调试python程序

相关阅读 VS codehttps://blog.csdn.net/weixin_45791458/category_12658212.html?spm1001.2014.3001.5482 一、安装调试器插件 在VS code中可以很轻松地调试Python程序&#xff0c;首先需要安装Python调试器插件&#xff0c;如图1所示。 图1 安装调试器插件 Python Debugge…

在当前网络环境中查看所有IPv4与Mac地址的方法

在powershell界面中&#xff1a; # 获取并显示所有网络接口的MAC地址和IPv4地址 Get-NetAdapter | Select-Object -Property Name, MacAddress, Status Get-NetAdapter | Get-NetIPAddress -AddressFamily IPv4 | Select-Object -Property InterfaceAlias, IPAddress, PrefixL…

【JavaScript】JavaScript开篇基础(1)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

让AI像人一样思考和使用工具,reAct机制详解

reAct机制详解 reAct是什么reAct的关键要素reAct的思维过程reAct的代码实现查看效果引入依赖&#xff0c;定义模型定义相关工具集合工具创建代理启动测试完整代码 思考 reAct是什么 reAct的核心思想是将**推理&#xff08;Reasoning&#xff09;和行动&#xff08;Acting&…

SpringBoot3项目中Knife4j的配置与使用

引言 Knife4j 是基于 Swagger 的增强版API文档生成工具&#xff0c;提供美观且功能丰富的API文档界面。 官网&#xff1a;Knife4j 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4j (xiaominfo.com) 配置 基于SpringBoot3进行配置&#xff0c;有以下注意点&#xff1…

Oracle云主机申请和使用教程:从注册到SSH连接的全过程

今天我要和大家分享如何成功申请Oracle云主机,并进行基本的配置和使用。我知道很多同行的朋友在申请Oracle云主机时都遇到了困难&#xff08;疑惑abc错误&#xff09;,可能试了很多次都没有成功。现总结一下这些年来的一些注册流程经验&#xff0c;或许你们也能成功申请到自己的…

opencv-rust 系列2: camera_calibration

opencv-rust 系列2: camera_calibration 前言: 这里只是opencv-rust自带示例的中文注解. 略微增加了一些代码也是我在调试时用到的. 说明: camera_calibration.rs是opencv-rust自带的示例, 在examples目录中可以找到,我增加了一些中文注释如下.如需运行可以在项目根目录执行命…

Qt第三课 ----------显示类的控件属性

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…