- 博客(27)
- 收藏
- 关注
原创 基于c++仿写顺序表
本文介绍了使用C++实现顺序表的基本操作。主要包括顺序表的初始化、销毁、插入、删除、查找等核心功能,实现了动态扩容和缩容机制。通过定义SequentialList结构体管理元素数组、大小和容量,提供了完整的顺序表操作方法,包括插入元素时的自动扩容和删除元素时的自动缩容。最后通过主函数测试了这些功能,展示了顺序表的基本使用方法。代码结构清晰,包含必要的异常处理,适合作为数据结构学习的入门示例。
2025-12-20 16:21:13
131
原创 基于Selenium自动爬取书籍
本文介绍了使用Selenium爬取网页图书信息的方法。通过Edge浏览器访问目标网站,获取图书列表后,依次点击每本图书进入详情页提取名称、评分和标签信息,并实现翻页功能。数据保存为Excel文件,包含自动翻页、返回操作和异常处理。代码展示了完整的爬取流程,包括元素定位、数据提取和存储功能,最终生成包含所有图书信息的Excel文件。
2025-12-03 23:24:16
96
原创 基于Beautiful Soup使用python爬取豆瓣top250电影且具备翻页,存贮于.csv版本及mysql版本
本文介绍了使用Python的Beautiful Soup库爬取豆瓣电影Top250信息的方法。首先通过requests获取网页内容,然后利用Beautiful Soup解析HTML,提取电影名称、详情页URL、导演主演信息、上映年份、国家、类型、评分和评语等数据。重点比较了find()、find_all()、select()和select_one()等解析方法的区别与使用场景。最后将提取的数据通过CSV文件保存,并展示了最终的数据格式。整个过程涵盖了网页请求、HTML解析、数据清洗和存储等关键步骤,为网络爬
2025-11-24 21:19:29
281
原创 数据库Mysql Day 2
select * from 数据表 + 1.where 字句 2.group by 字句,3. having 子句, 4.order by 5.limit 限制查询子句。3.聚合函数(min , max, avg sum)4.分组子句 group by。6.排序子句,order by。若要使用多个子句必须按照顺序。2.条件查询 where。5. having 子句。
2025-04-11 00:24:31
260
原创 数据库Mysql学习--day1
6. 创建数据表 数据表必须要在数据库中也就是说要先use 数据库。8.mysql 数据类型 + 5大约束。1.下载mysql,Datagrip。
2025-04-09 15:48:36
183
原创 基于python程序制作飞机大战
ps:但是我的wasd键不可用,测试了一下好像是这个pygame库有BUG,我使用按键打印wasd也没效果,但上下左右可以。有大佬知道的可以评论或者私信跟我说一说该怎么弄。项目的主函数:定义了很多类,例如敌机,飞机,子弹,得分等类和对象。写完窗口就需要制作一个监听事件的函数来判断鼠标和键盘的操作,项目的地图背景,用图片循环下降来营造飞机前进的场景。接下来就是用 模块化设计来完成全部项目。接着加载背景,使用自己的素材。
2025-03-05 00:30:46
194
原创 Day 9 - Day 10
魔法方法 __init__() 在对象创建后立即调用,用于初始化对象的属性。对象是根据类产生的一个具体实例,有明确属性和行为。类的构成有三部分: 类的名称,类的属性,类的方法。一个父类继承object , 两个子类继承父类。类就是创建对象的模板,是抽象的。Day 9: 类与对象。
2025-03-03 22:47:28
236
原创 python自学Day6-Day8
a 追加方式打开,文件不存在则自动创建 ps:追加就是存在不会清空。w 只写方式打开,文件不存在则自动创建,存在则清空文件内容。def 函数名(参数名1,*agrs,**kwarg)有返回值函数 return 返回,再用一个变量来接受。#list 在可变类型,会更改传入参数变量。缺省参数:如果没有给参数,则为默认值。import os 导入os 模块。有参有返回 是最常用的函数形式。r 只读方式打开 文件必须存在。kwarg 为字典形式储存。r+/w+ 为读写方式打开。a+ 追加和读写方式打开。
2025-02-28 22:31:27
285
原创 python 自学day1 到day5
列表增加: append 直接在尾部添加,extend将另一个数组逐一添加,insert(下标,"value")元组:不可修改 tuple = (, , , , ,) 元组只有一个元素的时候要加逗号不然会报错。只要是有' '的就是字符串, 其次浮点型转换为整数型直接去除小数部分不做四舍五入。字典:{"key" : "value", "key2" : "value" }%s 为字符串转换,%d为无符号的十进制整数,%f为浮点实数,\n 为换行。列表:可以增删改查 命名 list = [ , , , ,]
2025-02-26 22:38:24
381
原创 c++项目——通讯录
abs为AddressBooks 此结构体的指针,abs->Addarr[]即为找到AddressBooks中的Addarr这个数组,然后abs->Size为加入数组的下标,abs->Addarr[abs->Size].name = name;输入名字来查询是否有这个人,若有这个人则返回他数组的下标i,如若没有找到这个人则返回-1。用string 来定义电话号码,可以使用.length 来判断是否有11位,是否满足要求。七、编写delete函数来删除联系人,输入名字确定是否有这个人再进行删除操作。
2023-08-01 20:47:03
896
1
原创 6-6输入捕获
2.初始化GPIO,配置GPIO成输入模式(上拉或者悬空)1.打开RCC时钟,把GPIO和TIM的时钟打开。3.配置时基单元让CNT计数器在内部时钟自增。6.选择触发后的操作,执行Reset操作。5.选择从模式的触发源 TI1,FP1。7.调用TIM_Cmd函数,开启定时器。4.配置输入捕获单元。
2023-07-22 22:06:07
129
1
原创 6_3使用PWM驱动LED呼吸灯
3.配置输出比较单元包括(CCR的值,输出比较模式,极性选择模式,输出使能模式)使用结构体。4.配置GPIO , 把PWM对应的GPIO,初始化为复用推挽输出的设置。1.打开RCC时钟,把要用的TIM外设和GPIO外设的时钟打开。5.运行控制,启动计数器。
2023-07-15 23:17:51
179
1
原创 6_1 定时中断
TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型2.定时器类型a.高级定时器b.通用定时器c.基本定时器。
2023-07-14 15:02:35
110
1
原创 对射红外传感器
中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU。4.配置EXTI选择边沿触发方式,选择触发响应方式(中断响应和事件响应)触发响应方式:中断响应/
2023-07-12 21:43:19
491
1
原创 按键控制LED灯亮灭
里面包含了LED.c , LED.h,key.c,key.h文件。(4)进行对Key.c程序模块化程序编写,用于按键按钮的程序。(3).在LED.h的文件中声明LED.c的函数。(5).在Key.h的文件中声明Key.c的函数。(2)进行对LED.c程序模块化程序编写。(1)建立一个Hardware文件夹。3.最后在主程序中实现按键点灯程序。1.硬件电路的接线图。
2023-07-08 17:16:03
2098
1
原创 stm32如何创建工程
等同名称的分组,然后将文件夹内的文件添加到工程分组里。等文件夹,复制固件库里面的文件到工程文件夹。内声明所有包含头文件的文件夹。,下拉列表选择对应调试器,中新建工程,选择型号。
2023-06-23 22:36:14
203
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅