python——学生管理系统
学生管理系统主要分为以下三个大类:
一、用户类(User):
属性:用户名(username)、密码(password)
功能:注册(register)、登录(login)
(1)注册:
1、判断用户名是否已经被注册过
2、注册成功
3、是否需要继续追加注册用户
def register(self):# 新用户注册while True:username = input("请输入用户名:")if username in self.users_database:print(f"用户名{username}已存在,请重新输入!")continuepassword = input('请输入密码:')self.users_database[username] = passwordprint(f"用户{username}注册成功!")choice = input('是否继续注册用户?(y/n): ').lower()if choice != 'y':break
(2)登录:
1、用户名未注册
2、登录成功
3、三次输入用户名和密码错误,登录失败
def login(self):# 登录验证(检查注册状态+3次尝试机会)for i in range(3): # 0, 1, 2username = input("请输入用户名:")# 先检查用户是否注册if username not in self.users_database:print(f"用户名 {username} 未注册,请先注册!")return Falsepassword = input("请输入密码:")if self.users_database[username] == password:self.username = usernameself.password = passwordself.logged_in = Trueprint("登录成功!")return True# 只在还有尝试机会时显示提示if i < 2:print(f"密码错误,您还有{2 - i}次机会")else: # 3次尝试都失败print("您已连续3次输入错误,请重新登录!")return False
二、学生类(Student):
属性:学生信息(学号、姓名、性别、年龄、地址、电话)
三、学生管理类(StudentManagerSystem):
属性:学生信息
方法:增加学生信息、删除学生信息、修改学生信息、查询单个学生信息、查询所有学生信息、退出系统
(1)增加学生信息
按学号进行筛选索引
def add_student(self):# 增加学生信息sid = input("请输入学生学号:")if sid in self.students:print("该学号已存在!")returnsname = input("请输入学生姓名:")ssex = input("请输入学生性别:")try:sage = int(input("请输入学生年龄:"))address = input("请输入地址:")# 电话改为字符串,避免以0开头的号码问题tel = input("请输入电话:")self.students[sid] = Student(sid, sname, ssex, sage, address, tel)print("添加成功!")except ValueError:print("年龄必须为数字!")
(2)删除学生信息
按学号进行筛选索引
def delete_student(self):if not self.students:print("当前无任何学生信息!")return# 删除学生信息sid = input("请输入要删除的学生学号:")if sid in self.students:del self.students[sid]print("删除成功!")else:print("未找到该学号的学生!")
(3)修改学生信息
1、按学号进行筛选索引
2、选择修改的项可以为单项或全部
def modify_student(self):if not self.students:print("当前无任何学生信息!")return# 修改学生信息sid = input("请输入要修改的学生学号:")if sid not in self.students:print("未找到该学号的学生!")returnstudent = self.students[sid]student.display_info()print("\n请选择要修改的项:")print("1: 学号 2: 姓名 3: 性别 4: 年龄 5: 地址 6: 电话 7: 全部 8:退出")try:choice = input("请输入选择(1-8): ")if choice == '7':new_sid = input("新的学号:")new_sname = input("新的名字:")new_ssex = input("新的性别:")new_sage = int(input("新的年龄:"))new_address = input("新的地址:")new_tel = input("新的电话:")# 如果学号改变,需要先删除旧的再添加新的if new_sid != sid:del self.students[sid]self.students[new_sid] = Student(new_sid, new_sname, new_ssex,new_sage, new_address, new_tel)else:# 学号没变,直接修改对象属性student.sname = new_snamestudent.ssex = new_ssexstudent.sage = new_sagestudent.address = new_addressstudent.tel = new_telelse:if choice == '1':new_sid = input("新的学号:")if new_sid != sid:self.students[new_sid] = self.students.pop(sid)self.students[new_sid].sid = new_sidelif choice == '2':student.sname = input("新的名字:")elif choice == '3':student.ssex = input("新的性别:")elif choice == '4':student.sage = int(input("新的年龄:"))elif choice == '5':student.address = input("新的地址:")elif choice == '6':student.tel = input("新的电话:")elif choice == '8':returnelse:print("无效选择!")returnprint("修改成功!")except ValueError:print("输入数据有误!")
(4)查询单个学生信息
按学号进行筛选索引
def find_student_by_sid(self):if not self.students:print("当前无任何学生信息!")return# 查询单个学生信息sid = input("请输入学生学号:")if sid in self.students:self.students[sid].display_info()else:print("未找到该学号的学生!")
(5)查询所有学生信息
def list_all_students(self):if not self.students:print("当前无任何学生信息!")return# 查询所有学生信息print("\n================== 所有学生信息 ==================")for sid, student in self.students.items():student.display_info()print("="*50)
(6)退出系统
四、测试
1、注册
2、登录
3、添加学生信息
4、修改学生信息
5、查询单个学生信息
6、查询多个学生信息
五、运行代码
全部运行代码放在这里:
class User:def __init__(self, username=None, password=None):self.users_database = {} # 类级别的用户数据库self.username = usernameself.password = passwordself.logged_in = Falsedef register(self):# 新用户注册while True:username = input("请输入用户名:")if username in self.users_database:print(f"用户名{username}已存在,请重新输入!")continuepassword = input('请输入密码:')self.users_database[username] = passwordprint(f"用户{username}注册成功!")choice = input('是否继续注册用户?(y/n): ').lower()if choice != 'y':breakdef login(self):# 登录验证(检查注册状态+3次尝试机会)for i in range(3): # 0, 1, 2username = input("请输入用户名:")# 先检查用户是否注册if username not in self.users_database:print(f"用户名 {username} 未注册,请先注册!")return Falsepassword = input("请输入密码:")if self.users_database[username] == password:self.username = usernameself.password = passwordself.logged_in = Trueprint("登录成功!")return True# 只在还有尝试机会时显示提示if i < 2:print(f"密码错误,您还有{2 - i}次机会")else: # 3次尝试都失败print("您已连续3次输入错误,请重新登录!")return Falsedef run(self):# 用户系统主界面while True:print("\n================== 用户系统 ==================")choice = input("请选择:1、注册 2、登录 3、退出")if choice == '1':self.register()elif choice == '2':if self.login():# 登录成功后退出用户系统returnelif choice == '3':print("退出用户系统!")exit()else:print("无效选择,请重新输入!")class Student:def __init__(self, sid, sname, ssex, sage, address, tel):self.sid = sidself.sname = snameself.ssex = ssexself.sage = sageself.address = addressself.tel = teldef display_info(self):# 显示学生信息print(f"学号:{self.sid},姓名:{self.sname},性别:{self.ssex},"f"年龄:{self.sage},地址:{self.address},电话:{self.tel}")class StudentManagerSystem:def __init__(self):self.students = {} # 用字典存储学生对象,键为学号def add_student(self):# 增加学生信息sid = input("请输入学生学号:")if sid in self.students:print("该学号已存在!")returnsname = input("请输入学生姓名:")ssex = input("请输入学生性别:")try:sage = int(input("请输入学生年龄:"))address = input("请输入地址:")# 电话改为字符串,避免以0开头的号码问题tel = input("请输入电话:")self.students[sid] = Student(sid, sname, ssex, sage, address, tel)print("添加成功!")except ValueError:print("年龄必须为数字!")def delete_student(self):if not self.students:print("当前无任何学生信息!")return# 删除学生信息sid = input("请输入要删除的学生学号:")if sid in self.students:del self.students[sid]print("删除成功!")else:print("未找到该学号的学生!")def modify_student(self):if not self.students:print("当前无任何学生信息!")return# 修改学生信息sid = input("请输入要修改的学生学号:")if sid not in self.students:print("未找到该学号的学生!")returnstudent = self.students[sid]student.display_info()print("\n请选择要修改的项:")print("1: 学号 2: 姓名 3: 性别 4: 年龄 5: 地址 6: 电话 7: 全部 8:退出")try:choice = input("请输入选择(1-8): ")if choice == '7':new_sid = input("新的学号:")new_sname = input("新的名字:")new_ssex = input("新的性别:")new_sage = int(input("新的年龄:"))new_address = input("新的地址:")new_tel = input("新的电话:")# 如果学号改变,需要先删除旧的再添加新的if new_sid != sid:del self.students[sid]self.students[new_sid] = Student(new_sid, new_sname, new_ssex,new_sage, new_address, new_tel)else:# 学号没变,直接修改对象属性student.sname = new_snamestudent.ssex = new_ssexstudent.sage = new_sagestudent.address = new_addressstudent.tel = new_telelse:if choice == '1':new_sid = input("新的学号:")if new_sid != sid:self.students[new_sid] = self.students.pop(sid)self.students[new_sid].sid = new_sidelif choice == '2':student.sname = input("新的名字:")elif choice == '3':student.ssex = input("新的性别:")elif choice == '4':student.sage = int(input("新的年龄:"))elif choice == '5':student.address = input("新的地址:")elif choice == '6':student.tel = input("新的电话:")elif choice == '8':returnelse:print("无效选择!")returnprint("修改成功!")except ValueError:print("输入数据有误!")def find_student_by_sid(self):if not self.students:print("当前无任何学生信息!")return# 查询单个学生信息sid = input("请输入学生学号:")if sid in self.students:self.students[sid].display_info()else:print("未找到该学号的学生!")def list_all_students(self):if not self.students:print("当前无任何学生信息!")return# 查询所有学生信息print("\n================== 所有学生信息 ==================")for sid, student in self.students.items():student.display_info()print("="*50)def run(self):"""学生管理系统主界面"""while True:print("\n================== 学生管理系统 ==================")print("1: 添加学生")print("2: 删除学生")print("3: 修改学生")print("4: 单个查询")print("5: 全部查询")print("6: 退出系统")choice = input("请输入您的选择(1-6): ")if choice == '1':self.add_student()elif choice == '2':self.delete_student()elif choice == '3':self.modify_student()elif choice == '4':self.find_student_by_sid()elif choice == '5':self.list_all_students()elif choice == '6':print("退出学生管理系统!")breakelse:print("无效选择,请重新输入!")if __name__ == '__main__':# 创建用户系统并运行user_system = User()user_system.run()# 用户登录成功后,进入学生管理系统student_manager = StudentManagerSystem()student_manager.run()
相关文章:
python——学生管理系统
学生管理系统主要分为以下三个大类: 一、用户类(User): 属性:用户名(username)、密码(password) 功能:注册(register)、登录&#…...
快速幂+公共父节点
# 快速幂 求:23的10000次幂,那么就是求23的5000次幂,因为2350*235023^100;所以可以遍历log(n)次 int res1; int tmp23; for(int i1;i<logn;i) {tmp*tmp; }显然,我们无法通过logn计算次数; 比如是非偶数的怎么计算呢…...
【差分隐私相关概念】瑞丽差分隐私(RDP)命题4
命题4的证明详解(分情况讨论) 背景与设定 机制: f : D → R f: \mathcal{D} \to \mathcal{R} f:D→R 是由 n n n 个 ϵ \epsilon ϵ-差分隐私机制自适应组合而成。相邻输入: D D D 和 D ′ D D′ 是相邻数据集。目标…...
Vue 人看 React useRef:它不只是替代 ref
如果你是从 Vue 转到 React 的开发者,初见 useRef 可能会想:这不就是 React 版的 ref 吗?但真相是 —— 它能做的,比你想象得多得多。 👀 Vue 人初见 useRef 在 Vue 中,ref 是我们访问 DOM 或响应式数据的…...
C++第三方库【JSON】nlohman/json
文章目录 优势使用API从文件中读取json从json文本创建json对象直接创建并操作json对象字符串 <> json对象文件流 <> json对象从迭代器读取像使用STL一样的访问STL容器转化为 json数组STL容器 转 json对象自定义类型转化为 json对象 限制 优势 直观的语法ÿ…...
从源码到实战:深度解析`rsync`增量同步机制与高级应用
从源码到实战:深度解析rsync增量同步机制与高级应用 #mermaid-svg-C1ZMwvhtq4iP4E8m {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-C1ZMwvhtq4iP4E8m .error-icon{fill:#552222;}#mermaid-svg-C1ZMwvht…...
数据库表设计五层分类系统表设计
文章目录 数据库表设计五层分类系统表设计代码思路详解类概述核心方法详解1. processString(String input) 方法2. createNo(String input, boolean peerNode) 方法3. isParent(String parentNo, String sonNo) 方法 编号系统设计使用场景推测代码特点可能的使用示例 NoProcess…...
Centos/RedHat 7.x服务器挂载ISCSI存储示例(无多路径非LVM)
客户让帮忙挂载个ISCSI存储,大概结构如下图所示: ISCSI存储为一台安装了truenas的X86服务器,提供存储服务的IP地址为10.16.0.1 服务器的ETH1网卡配置与10.16.0.1同段网络。 为了给客户做个简单培训,整理了一下操作步骤。下面是配…...
【android bluetooth 协议分析 21】【ble 介绍 2】【什么是IRK,是如何生成和传递的】
1. 什么是 IRK? IRK,全称 Identity Resolving Key(身份解析密钥),是 BLE 设备用于生成和解析 Resolvable Private Address(RPA) 的密钥。 2. IRK 的生成和传递过程 IRK 是在 BLE 配对…...
4.14-4.15学习总结 IO流:缓冲流+转换流+序列化流+打印流+压缩流+Commons—io工具包+Hutool工具包
图片加密操作: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class test {public static void main(String[] args) throws IOException {FileInputStream fisnull;FileOutputStream fosnull;try{fisnew…...
Linux入门学习笔记
一、文件路径相关 相对路径与绝对路径 相对路径:是从当前工作目录开始表示文件或目录位置的路径。例如,当前在 /home/user 目录下,若要访问 user 目录下 test 文件夹中的 file.txt 文件,相对路径就是 test/file.txt 。它依赖于当…...
Redis适用场景
Redis适用场景 一、加速缓存二、会话管理三、排行榜和计数器四、消息队列五、实时分析六、分布式锁七、地理位置数据八、限流九、数据共享十、签到 一、加速缓存 Redis最常见的应用之一是作为缓存层,用于存储频繁访问的数据,从而减轻数据库的负载。 通过…...
# WPS打开新文档,“工具”菜单下是空白
WPS打开新文档,“工具”菜单下是空白 在 WPS 中打开新文档后 “工具” 菜单下空白,可能由多种原因导致,如下图: 下面分析并给出对应的解决办法: 一、 功能区显示设置问题 1、原因: WPS 的功能区显示可能…...
【软考-架构】13.3、架构复用-DSSA-ABSD
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 1、软件架构复用2、特定领域软件架构DSSADSSA的三个基本活动参与DSSA的四种角色人员建立DSSA的过程三层次模型 考试真题第一题第二题 3、基于架构的软件开发ABSD的软件开发…...
K8S_ResourceQuota与LimitRange的作用
ResourceQuota 作用详解 资源总量控制:ResourceQuota能对命名空间内的资源使用总量进行限制。在一个Kubernetes集群中,存在多个命名空间,每个命名空间可看作一个独立的工作单元。通过设置ResourceQuota,可以防止某个命名空间过度…...
T101D加固平板电脑:无人机地面站的高效智能控制核心
随着无人机技术在应急救援、农业监测、军事侦察等领域的广泛应用,对地面控制设备的要求也日益提高。鲁成伟业推出的T101D加固平板电脑凭借其高性能、强防护和专业化设计,成为无人机地面站的核心控制终端,为复杂环境下的作业提供了可靠支持。 …...
LLM中的N-Gram、TF-IDF和Word embedding
文章目录 1. N-Gram和TF-IDF:通俗易懂的解析1.1 N-Gram:让AI学会"猜词"的技术1.1.1 基本概念1.1.2 工作原理1.1.3 常见类型1.1.4 应用场景1.1.5 优缺点 1.2 TF-IDF:衡量词语重要性的尺子1.2.1 基本概念1.2.2 计算公式1.2.3 为什么需…...
【基于Servlet技术处理表单】
文章目录 一、实验背景与目的二、实验设计与实现思路1. 功能架构2. 核心代码实现3. 测试用例 总结 一、实验背景与目的 本次实验旨在深入理解Servlet工作原理,掌握JSP与Servlet的协同开发,实现前端表单与后端数据处理的交互。具体目标包括:设…...
【差分隐私相关概念】瑞丽差分隐私(RDP)-瑞丽散度约束了贝叶斯因子后验变化
分步解释和答案: 在Rnyi差分隐私(RDP)框架中,通过贝叶斯因子和Rnyi散度的关系可以推导出关于后验变化的概率保证。以下是关键步骤的详细解释: 1. 贝叶斯因子的定义与分解 设相邻数据集 D D D 和 D ′ D D′&#x…...
Oracle查询大表的全部数据
2000w的大表 表结构如下,其中id是索引 查询处理慢的写法 List<String> queryLoidForPage(Integer startNum,Integer endNum){try {Connection oracleConnection initBean.oracleConnection;Statement stmt oracleConnection.createStatement();// 4.执行查…...
linux 内核 static-key机制分析
1、static key是什么 Linux内核的 Static Keys机制是一种高效的条件分支优化技术,主要用于在运行时动态启用或禁用特定代码路径,同时避免常规条件判断(如 if 语句)的性能开销。它通过结合编译时优化和运行时代码修补(如 Jump Label 技术)实现近乎零成本的开关切换,广泛应用…...
【Java学习】Knife4j使用流程
手动添加依赖,并刷新Maven <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.3.0</version> </dependency>在配置文件application.…...
Java 基本操作快速入门:理解与实践
在软件开发的世界里,Java 作为一种广泛使用的编程语言,已经成为构建企业级应用、移动应用甚至大型系统的主力军。对于任何一位初学者来说,理解 Java 的基本操作是学习编程的第一步。从变量声明到控制流的结构,每一个基础知识点都是…...
jetson orin nano 开发板conda 的 base 环境在 shell 启动时自动激活
使用MobaXterm_Personal_23.0.exe 连接jetson开发板时默认是不进入base环境的 1.输入此命令nano ~/.bashrc看到图1后把conda activate 你的环境名 放到图中标记位置 然后保存退出: Ctrl O 回车保存 Ctrl X 退出编辑器 输入此命令后,source ~/.bas…...
【高中数学/指数/对数】同构六君子之 x/e^x/lnx组合曲线
yx*e^x ye^x/x yx/e^x yx*lnx ylnx/x yx/lnx END...
Golang|在线排查协程泄漏
根据我们的代码,前5毫秒内,每隔1毫秒就会来一个请求,5毫秒之后由于前面的协程执行完,后面又会来新的协程,所以协程数目会保持稳定但是代码一运行,协程数量一直增长,发生了协程泄漏 我们可以list…...
健康养生指南
在快节奏的现代生活中,健康养生愈发重要,它是我们享受美好生活的基石。 饮食是养生的关键一环。秉持均衡原则,每日保证谷类、蔬果、优质蛋白等各类食物合理摄入。多吃富含膳食纤维的粗粮,像燕麦、糙米,可促进肠道蠕…...
实验二 两个多位十进制数相加实验
一、实验目的 1.掌握汇编子程序的编写方法。 2.掌握循环程序的设计方法。 二、实验内容 将键盘输入的两个5位十进制数相加,在屏幕上显示相加的结果。 三、实验要求 1.显示格式:被加数加数相加的结…...
多模态大模型MLLM基础训练范式 Pre-train + Instruction FineTuning
多模态大模型Pre-train 为了在图文嵌入空间中更好地对齐视觉和文本信息。为此,使用图像-文本对(image-caption style data),表示为 ( X , Y a ) (\mathbf{X}, Y_a) (X,Ya),其中: X \mathbf{X} X&#x…...
2025.4.15六年之约day11
六年之约已经断更好几个月了,当初六年之约是当做日记来写的,然后被同事刷到了,被谈及的时候挺尴尬的,毕竟里面记录的是我的所思所想。在互联网下,是不适合发布日记的,但我又爱记录所思所想所做。 不知道距…...
Rust学习之实现命令行小工具minigrep(二)
Rust学习之实现命令行小工具minigrep(二) Rust学习之实现命令行小工具minigrep(一) 前言 继续记录一下Rust 语言学习过程,上次写了一个命令行查找字符串的小项目minigrep。学习完了闭包(Closures&#x…...
Access Token 和 Refresh Token 的双令牌机制,维持登陆状态
目录 1. 双令牌机制2. 工作流程3. 客户端实现4. 服务器端实现5. 注意事项拓展:Token在客户端安全存储的几种方式 为了实现客户端在 JWT Token 过期后自动更新 Token,通常会采用 Access Token 和 Refresh Token 的双令牌机制。以下是实现自动更新 Token 的…...
前端 -- uni-app 的 splitChunks 分包详解与实战!
全文目录: 开篇语📝 前言📖 目录🌟 什么是 splitChunks?🛠 splitChunks 的核心原理📂 文件拆分的机制⚙️ 配置选项✨ splitChunks 实战案例1️⃣ 项目初始化2️⃣ 编写页面逻辑3️⃣ 配置 splitChunks4️⃣ 查看效果🧩 splitChunks 的高级用法与优化🔍 优化一…...
【教程】检查RDMA网卡状态和测试带宽 | 附测试脚本
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 检查硬件和驱动状态 测试RDMA通信 报错修复 对于交换机的配置,可以看这篇: 【教程】详解配置多台主机通过交换机实现互…...
OSPF的拓展配置
OSPF的拓展配置 1,ospf的手工认证 1,接口认证 r1: display ospf peer brief (查看邻居关系) int g 0/0/0 ospf authentication-mode md5 1 cipher 123456 display this r2: ospf authentication-mode md5 1 plain 12345…...
http、https、TLS、证书原理理解,对称加密到非对称加密问题,以及对应的大致流程
http 超文本传输协议 存在问题: 安全性、隐私性、数据完整性 易被中间人(黑客之类的)对数据进行劫持、篡改、隐私泄露 引出了 https (source) http 在网络模型中的应用层 Application > transport > inter…...
vscode格式化为什么失效?自动保存和格式化(Prettier - Code formatter,vue-format)
vscode自动格式化保存最终配置 博主找了好多的插件,也跟着教程配置了很多,结果还是没有办法格式化,最终发现了一个隐藏的小齿轮,配置完后就生效了 关键步骤 关键配置 一定要点小齿轮!!! 这个小…...
两类中断控制器处理流程_链式和层级
今天呢,我们来用一种新的视角去看中断子系统,然后仿照人家的方法去写一个虚拟的中断子系统,我们先来讲讲链式和层级: 链式中断控制器(chained): 上图中,左边的"chained intc"就是链式中断控制器…...
软件测试之接口测试用例设计
1.接口测试用例设计简介 我们对系统的需求分析完成之后,即可设计对应的接口测试用例,然后用接口测试用例进行接口测试。接口测试用例的设计也需要用到黑盒测试方法,其与功能测试用例设计的方法类似,接口测试用例设计中还需要增加…...
猫咪如厕检测与分类识别系统系列【九】视频检测区域在线绘制+支持摄像头+网络摄像头+整体构建【上】
前情提要 家里养了三只猫咪,其中一只布偶猫经常出入厕所。但因为平时忙于学业,没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关,频繁如厕可能是泌尿问题,停留过久也可能是便秘或不适。为了更科学地了解牠的如…...
MySQL-运维篇
日志主从复制分库分表读写分离 日志 在任何一种数据库当中都会有各种各样的日志,这些日志记录着数据库运行的各个方面 错误日志 这个命令可以查看文件尾部的50行日志👆 这个命令是实时输出👆 二进制日志 第三个是索引文件,里面…...
mysql关联查询语句
假设存在以下三张表: orders 表:记录订单信息,包含 order_id(订单编号)、customer_id(客户编号)、order_date(订单日期)等字段。customers 表:记录客户信息&…...
Uniapp权限申请优化方案
获取权限前给用户提示,并在用户拒绝后48小时内不再弹窗请求授权。 优化方案分析 您的代码已经实现了基本的权限申请逻辑,但可以进一步优化以满足应用商店的审核要求。 1. 权限申请前的用户提示优化 当前代码中已经包含了权限申请前的提示功能&#x…...
案例驱动的 IT 团队管理:创新与突破之路:第四章 危机应对:从风险预见到创新破局-4.2 人才流失危机-4.2.3梯队建设的“洋葱模型“
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 梯队建设的"洋葱模型":破解IT团队人才流失危机的创新实践1. 人才流失危机的现实挑战1.1 行业现状与数据警示1.2 传统应对策略的失效 2. 洋葱模型的理论…...
双目视觉中矩阵等参数说明及矫正
以下是标定文件中各个参数的详细解释: 1. 图像尺寸 (imageSize) 参数值: [1280, 1024]含义: 相机的图像分辨率,宽度为1280像素,高度为1024像素。 2. 相机内参矩阵 (leftCameraMatrix / rightCameraMatrix) 结构: yaml data: [fx, 0, cx, 0,…...
烽火ai场控接入deepseek自动回复话术软件
要将烽火AI场控软件与DeepSeek自动回复话术软件进行对接,实现直播间自动互动功能,需通过API接口或脚本工具完成数据互通。以下是具体操作步骤及注意事项: 确认兼容性与准备工作 软件支持检查 确认烽火AI场控是否开放API接口(一般需…...
CSS 美化页面(三)
一、盒模型 盒模型本质上是一个盒子,封装周围的HTML元素 。包含: 外边距,边框,填充,和实际内容 一个盒子由四个区域组成:内容(Content)、内边距(Padding)、外…...
面试题之数据库-mysql高阶及业务场景设计
最近开始面试了,410面试了一家公司 针对自己薄弱的面试题库,深入了解下,也应付下面试。在这里先祝愿大家在现有公司好好沉淀,定位好自己的目标,在自己的领域上发光发热,在自己想要的领域上(技术…...
STM32F407实现SD卡的读写功能
文章目录 前言一、SDIO简介二、SD卡操作1.读操作2.写数据3.擦除操作4.最终效果5.完整工程 前言 在STM32中存储空间是有限的,对于需要存储大量数据的项目就需要外扩存储空间,一般会选择FLASH、EEPROM或者SD卡。SD是这三种中可达空间最大的,所…...
Vue 3中的setup【与Vue 2的区别】
一、前言 在Vue 3中,setup是组合式API(Composition API)的核心入口函数。其核心作用是为组件提供灵活的逻辑组织方式,解决复杂组件中逻辑碎片化的问题。 二、核心作用 1.初始化响应式数据 通过ref和reactive等API声明响应式状态…...