ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

计算机学习周志九(8.31-9.6)

2026/9/8 18:59:07 拓冰建站 浏览量
计算机学习周志九(8.31-9.6) 1.Python学习面向对象完成教务管理系统异常不论有没有异常 finally都会进行异常传递异常在函数调用中层层上报的过程直到有人处理它或者程序崩溃2.算法刷题P5019 铺设道路从第一个坑开始遍历 相当于第0个是0 如果这个坑比前一个坑高的话需要加上高的部分的天数 因为无论如何前面的填完后就断开来了后面更高的需要多填补 如果更小可以顺带填补 不需要额外天数比如如果是 3 3 3这种全部一样的只需要加上3就可以 如果是4 3 2那么只需要4 如果2 3 4那不能直接一个4结束 而是需要211因为前面更矮的填补完为0不能往下减贪心单价低即可P4955跳跳用deque从小到大存储高度 贪心思想:取一个最高一个最低P2058 海港滑动窗口加队列 用结构体存储到达时间和船上的国籍P1241 括号序列与常规括号匹配不同 这里用栈存储数字下标 用bool数组判断是否匹配 其余与括号序列匹配题类似P4387 验证栈序列用两个数组维护进栈序列和出栈序列 把进栈序列一个一个压入栈匹配出栈序列 看是否完全匹配模拟进栈出栈过程P2234 营业额统计lower_bound的使用 用set容器维护 set去重加自动升序 找前驱和后继看哪个离得近P4715 淘汰赛将国家分成两半 一边一定有个冠军 另一边一定有个亚军 相当于分两边各自找最大值然后比较或者可以用正解比较法 用结构体存储 然后两个两个比较P4913 二叉树深度用两个数组存每个节点的左子树和右子树的值 再用BFS求深度P1827 美国血统主要是递归算法 递归左子树和右子树 后序遍历是左右子树都递归return后再输出当前节点这道题是取找每个根节点在中序遍历对应的位置然后找左子树和右子树 再分别递归进去当plpr时 说明区间里面没有节点 相当于没有子树了 就return 或者是下面的树已经遍历完了回到上一层pr ir il这种都是会在进入每一层递归里面被修改值P1364 医院设置用暴力枚举每个点到其他点的距离之和比最小·先用dfs找每个节点的深度 然后找共同祖先便于求距离P1030 先序排列与前面美国血统前序和中序求后序类似 那个判断条件不管是ilir还是lllr还是plpr都可以作为判断没有子树的终止条件P1305 新二叉树递归求前序遍历P1229 遍历问题知道前序和后序求中序的种数如果该节点只有一颗子树的话就有两种情况 可以是左或者右 所以我们要递归去找只有左子树或右子树的节点通过 DFS 递归划分前后序区间利用前序根后紧跟左子树根、后序区间可统计子树节点数量的性质求出每棵子树的左右子树大小统计出所有仅有单侧子树的节点个数 k最终总方案数为2^k3.FastApi学习pycharm只有专业版才有FastApi这些Web项目模板 如果要在社区版搞FastApi 可以创建纯Python项目然后在终端 pip install fastapi uvicorn 后续问AI创建一个main文件 在终端输入uvicorn main:app --reload 来测试main文件后续访问http://127.0.0.1:8000就能看到结果访问https://127.0.0.1:8000/docs能访问到FastApi交互式文档内容重点路由写法然后访问https://127.0.0.1:8000/hello就可以得到结果测试检验路由参数简介和路径参数参数就是客户端发送请求时附带的额外信息和指令参数的作用是让同一个接口能根据不同的输入返回不同的输出实现动态交互路径参数High Performance Web Crawler API - Swagger UI 访问fastapi交互式页面导入FastAPI的path函数查询参数声明的参数不是路径参数时路径操作函数会把该参数自动解释为查询参数允许设置默认值查询参数的值在URL问号之后URL就是网络地址Query类似路径函数里的path 前面是默认值 如果既需要默认值又需要可以自己赋值就能用请求体参数请求体是藏起来的在包裹内部通常是一段 JSON导入pydantic的Field函数与path Query类似响应HTML格式设置响应类为HTMLResponse,当前接口即可返回HTML内容FastAPI 接口默认返回的是 JSON数据但如果你的接口想返回一个真正的网页带标题、按钮、样式的页面就用HTML 格式响应文件格式自定义响应数据格式自定义响应数据格式就是——你规定接口返回给别人看的形状让外面看到的数据由你控制。异常处理中间件中间件是一个在每次请求进入FastAPI应用时都会被执行的函数它在请求到达实际的路径操作路由处理函数之前运行并且在响应返回给客户端之前再运行一次 中间件的请求顺序是自下而上依赖注入把重复的准备工作抽成一个函数接口声明一下就能用框架自动帮你调用并传值ORMORM建表on_event被弃用了 所以我用AI帮我改了lifespan在powershell中查看表建好了没有在路由中使用ORM创建依赖项 使用depends注入到处理函数在datagrip里往表里面插入数据数据库操作查询4.AI应用大模型调用 Apifox接口测试Apifox接入deepseek会话记忆方案与AI大模型的交互本质是无状态的每一次请求响应都是相互独立的AI大模型本身没有真正的会话记忆能力如果分别提问那两个人呢?AI不会根据你之前的提问接着回答代码调用大模型提示词工程Streamlit入门Streamlit 就是用 Python 快速做网页界面的工具streamlit基础用法AI智能伴侣实战界面基本布局但是此时如果再输入问题会覆盖掉前面的记录 所以我们需要把前面输入输出的消息用列表保存起来再输出 这样就不会被覆盖但现在的AI没有记忆能力 AI大模型默认没有记忆能力我们可以效仿之前的滚雪球式记忆的方法 把前面问题和回答一起存起来再作为提示词塞进去所以我们可以解包st.session_state.message 因为st.session_state.message存的就是之前所有的问题和回 相当于在messages里我们发送了多条记录解决了记忆问题 我们现在来看输出方式 改成流式输出体验感更好将stream改成True之后 response就是碎片 需要把每个碎片输出出来再使用st.empty() 这是“可擦写的白板” 每次写入替换上一次内容 每来一个碎片屏幕上的内容被擦掉再写上新积累的全文 就是流式输出侧边栏功能设置伴侣昵称和性格这样可以手动输入想要的伴侣姓名和性格