自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 【Python进阶篇 面向对象程序设计(7) Python操作数据库】

在 Python 中操作数据库时,游标(Cursor) 是一个核心对象,用于执行 SQL 语句并处理结果。它类似于文件操作中的文件指针,允许你逐条遍历查询结果。a、所有 SQL 命令(SELECT、INSERT、UPDATE、DELETE)都通过游标执行。python中已经内置了SQLite3,所以直接用import语句导入SQLite3模块。b、支持参数化查询,防止 SQL 注入。a、逐条或批量获取查询结果集。b、跟踪结果集中的当前位置。

2025-07-10 21:38:39 413

原创 【Python进阶篇 面向对象程序设计(6) 文件及目录操作】

在变量、序列和对象中存储的数据是暂时的,程序结束后就会丢失,为了能够长久地保存程序中的数据,需要将程序中的数据存到磁盘文件中。

2025-07-10 11:09:26 349

原创 【深度学习入门 鱼书学习笔记(1)感知机】

通过堆叠多个感知机层(中间层引入非线性激活函数),解决了线性不可分问题。感知机:接收多个输入,加权求和后通过激活函数输出二进制结果。非门和或门用相同方式都可以表示,但唯独异或门不可以直接表示。无法用单层感知机实现,异或门需要用多层感知机实现。

2025-07-08 21:43:26 128

原创 【Python进阶篇 面向对象程序设计(5) 异常处理】

格式如下:try:# 可能抛出异常的代码块except 指定要捕获的异常#进行异常处理的代码块try:# 可能抛出异常的代码块result = 10 / 0 # 示例:除零错误# 异常处理逻辑print("除数不能为零!")练习题:模拟幼儿园分苹果(除数不能为0)print("\n======= 分苹果了 ======\n")apple = int(input("请输入苹果的个数:"))children = int(input("请输入来了几个小朋友:"))

2025-07-08 14:22:11 1006

原创 【Python进阶篇 面向对象程序设计(4) 模块 】

(1)模块是一个包含 Python 代码的文件,扩展名为 .py。(2)作用代码组织:将功能相关的代码放在同一个文件中。命名空间隔离:避免全局变量和函数名冲突。复用性:模块可以在多个程序中导入和使用。

2025-07-08 11:24:22 564

原创 【Python进阶篇 面向对象程序设计(3) 继承】

在面向对象编程中,被继承的类称为父类,新的类称为子类。

2025-07-07 22:29:16 196

原创 【Python进阶篇 面向对象程序设计(2) 属性(property)】

在python中,可以通过@property将一个方法转换为属性,从而实现用于计算的属性。将方法转换为属性后,可以直接通过方法名来访问方法,不需要添加一对小括号()想要创建一个可以读取但是不能修改的属性,可以使用@property实现只读属性。通过运行结果显示,@property的属性只能读不能写!

2025-07-07 20:24:30 168

原创 【Python进阶篇 面向对象程序设计(1) 类、对象】

在程序开发中,要设计一个类,通常需要满足一下三个要素:1.类名:这类事物的名字,满足大驼峰命名法2.属性:这类事物具有什么样的特征3.方法:这类事物具有什么样的行为class 类名: "" " "类的帮助信息" ""def 方法1(self, 参数列表) :passdef 方法2(self, 参数列表) :pass。

2025-07-07 19:54:23 326

原创 【Python基础入门 函数】

相当于将一个列表解包为多个独立参数:像(‘贾宝玉’, 1.7, 65) (‘林黛玉’, 1.65, 45)函数接收的是参数的内存地址(引用),在函数内部对参数进行修改,会直接影响到函数外部的原始值。函数接收的是参数值的副本,在函数内部对参数进行修改,不会影响到函数外部的原始值。输出结果:我是一名程序员,我喜欢看@-@的图书,想研究下@-@单一表达式:不能包含复杂的逻辑或多条语句,只能有一个表达式。表达式:只能有一个表达式,该表达式的结果就是函数的返回值。参数:可以有零个或多个参数,用逗号分隔。

2025-07-06 16:06:04 750

原创 【Python基础入门 re模块实现正则表达式操作】

在字符串中查找首个与模式匹配的位置,若匹配成功则返回一个匹配对象,若未找到则返回 None。[01289]:匹配第三位数字,允许是 0、1、2、8、9,也就是 150、151、152、158、159 号段。|:这是一个逻辑或操作符,它将整个正则表达式分成了两部分,表示可以匹配左边的模式或者右边的模式。从字符串的起始位置开始进行匹配,若开头的部分符合模式则返回匹配对象,否则返回 None。运行结果:中奖号码为:84978987 联系电话为:1**********flags:I表示不区分大小写的匹配。

2025-07-05 16:27:39 350

原创 【Python基础入门 字符串】

index()方法和find()方法都是用来检测首次出现的索引,但是find()没找到返回-1,index()没找到会抛出异常。输出结果:编号: 07 公司名称:百度 官网:http://www.baidu.com。输出结果: True True。

2025-07-05 14:17:09 210

原创 【Python基础入门 习题】

【代码】【Python基础入门 习题】

2025-07-03 13:44:01 168

原创 【Python基础入门 集合 列表、元组、字典、集合的区别】

{‘y’, ‘好’, ‘h’, ‘p’, ‘你’, ‘t’, ‘,’, ‘o’, ‘n’}注意:创建空集合只能用set()实现,不能用{}表示,因为{}表示创建一个空字典。{‘亭’, ‘木’, ‘森’}

2025-07-03 10:34:57 151

原创 【Python基础入门 字典】

开始字典: {‘亭亭’: ‘女’, ‘超超’: ‘男’, ‘森森’: ‘男’, ‘木木’: ‘男’}开始字典: {‘亭亭’: ‘女’, ‘超超’: ‘男’, ‘森森’: ‘男’, ‘木木’: ‘男’}开始字典: {‘亭亭’: ‘女’, ‘超超’: ‘男’, ‘森森’: ‘男’, ‘木木’: ‘男’}开始字典: {‘亭亭’: ‘女’, ‘超超’: ‘男’, ‘木木’: ‘男’, ‘森森’: ‘男’}运行结果:{‘亭亭’: ‘女’, ‘超超’: ‘男’, ‘森森’: ‘男’, ‘木木’: ‘男’}

2025-07-02 22:25:04 565

原创 【Python基础入门 元组 元组和列表的区别】

进行元组连接时,连接的内容必须都是元组,不能将元组和字符串或列表进行连接。在进行元组连接时,如果连接的元组只有一个元素不要忘记后面的逗号。implicit_tuple = 1, 2, 3 # 等价于 (1, 2, 3)from_list = tuple([4, 5, 6]) # 从列表转换。single_tuple = (1,) # 单元素元组(必须加逗号)empty_tuple = () # 空元组。输出结果:(‘你好’, ‘世界’, ‘再见’)输出结果:(1, [1, 2, 8])

2025-07-02 20:14:06 139

原创 【Python基础入门 列表的遍历、添加、删除、统计、排序】

随机生成:[77, 54, 71, 72, 79, 53, 59, 83, 18, 68]排序前的列表: [13, 37, 56, 8, 21, 45, 66]原序列: [98, 97, 99, 56, 73, 97, 100]升序: [56, 73, 97, 97, 98, 99, 100]降序: [100, 99, 98, 97, 97, 73, 56]升序: [8, 13, 21, 37, 45, 56, 66]降序: [66, 56, 45, 37, 21, 13, 8]false表示升序排列。

2025-07-02 17:24:37 481

原创 【Python基础入门 序列】

本文介绍了Python序列操作的常用方法:1)切片访问元素范围,使用sname[start:end:step]格式;2)序列合并直接用+运算符;3)用in/not in检查元素是否存在;4)使用len()、max()、min()等函数获取序列信息,以及reversed()和sorted()进行反转排序;5)enumerate()同时获取索引和元素。还展示了如何反转列表、元组和字符串。这些操作以《红楼梦》人物列表为例进行演示,涵盖了序列处理的基本技巧。

2025-07-01 15:02:52 190

原创 【Python基础入门 输入输出、选择循环】

end:指定计数的结束值,但不包括该值,range(7),则代表的值为0-6。当range()函数中只有一个参数时,即表示指定计数的结束值。step:指定步长,即两个数之间的间隔,可以省略,省略表示步长为1。(1)获取字符串的最后一位:string.endswith(‘’)start:指定计数的起始值,可以省略,省略则从0开始。介绍range(start,end.step)bmi为int类型,转化为字符串类型输出。(2)随机数:1-10之间的随机数。

2025-07-01 12:53:28 234

原创 FPGA实现UART通信(1)---发送数据

由于数据在传输线上是定时传输的,并且每一个设备有自己的时钟,很可能在通信中两台设备之间出现了小小的不同步,因此停止位不仅仅是表示数据传输的结束,并且提供计算机校正时钟的机会。在奇校验时,发送方应使数据位中1的个数与校验位中1的个数为奇数,接收方在接收数据时,对1的个数进行检测,若1的个数不为奇数个,则说明数据在传输过程中存在差错。波特率表示每秒钟传送码元符号的个数(表示一秒钟能传输的最大的bit数),它是对符号传输速率的一种度量,用单位时间内载波调制状态改变的次数来表示,1波特指每秒传输1个字符。

2023-04-26 13:56:24 1669 1

原创 计数器到可控线性序列机(6个练习题)

4.让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。8个变化状态为一个循环,每个变化状态的时间值可以根据不同的应用场景选择。3.让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。6.每隔10ms,让LED灯的一个8状态循环执行一次(每个状态的变化时间值小一点,方便测试,比如设置为10us)2.让LED灯按照亮0.25秒,灭0.5秒,亮0.75秒,灭1秒的状态循环亮灭。1.让LED灯按照亮0.25秒,灭0.75秒的状态循环亮灭。LED4-7频率0.5s(0.5s亮、0.5s灭)

2023-04-08 23:26:16 240

原创 阻塞赋值和非阻塞赋值详解

按照标准,上例中两个always块是并行执行的,若复位信号已经从0变为1,无论哪个always块的有效沿先到,两个always块中的非阻塞赋值都在赋值时刻计算RHS表达式,在结束时刻更新LHS表达式,因此无论哪个always块的时钟沿先到达, y1 =1,y2 =0。阻塞赋值的执行可以认为是只有一个步骤的操作,所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上是在前一句赋值语句结束后才开始执行的。5、在同一个always块中不要既用非阻塞赋值又用阻塞赋值。

2023-04-08 12:21:00 1150

原创 练习参数化设计---不同频率LED灯闪烁

所以累加次数为:2.5 * 10^6 = 2,500,000。所以累加次数为:5 * 10^6 = 5,000,000。这样做就可以使仿真时间减少,但是也可以满足设计要求。4、方案二:想要仿真时间少一点但不影响板级验证时间。系统频率为50MHZ,则计算出周期为20ns。

2023-03-29 11:11:13 978

原创 Verilog参数化设计

input Clk;//系统时钟//全局复位,低电平复位//led输出//定义计数器寄存器//参数化定义//计数器计数进程else//led输出控制进程elseled

2023-03-28 16:30:23 499

原创 时序逻辑计数器(2)

循环移位就相当于让8’b0000_0001在时钟上升沿来临时进行一个左移操作,将移出的最高位放置在最低位上,如此便可实现0000_0001~1000_0000的循环。引用3-8译码器的模块,前面有3-8译码器的文章,在此不做过多解释。

2023-03-28 09:48:27 123

原创 时序逻辑计数器(1)

(2)关于代码中为何是24999999而不是25000000,个人理解是因为从0开始累加,0-24999999为25000000次。若按照25000000来写代码,仿真图像会多出20ns,其原因上面已经解释。则计数器需要累加到25000000次,才为500ms。(1)若开发板基本时钟频率为50MHZ。LED等灯以1s闪烁。

2023-03-27 21:40:59 295

原创 Verilog实现3-8译码器

【代码】Verilog实现3-8译码器。

2023-03-25 21:46:30 1464

原创 Verilog刷题(一)------四选一多路器

1、制作一个四选一的多路选择器,要求输出定义上为线网类型。则sel=3时,mux_out=3,通过图可知2为d0。sel=0时,mux_out=2,通过图可知2为d3。sel=1时,mux_out=1,通过图可知2为d2。sel=2时,mux_out=0,通过图可知2为d1。输入信号 d1,d2,d3,d4 sel。输出信号 mux_out。

2023-03-15 16:15:44 1173

原创 同步复位、异步复位和异步复位同步释放

(1)建立时间与保持时间的概念?建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时 间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。(2)为什么触发器要满足建立时间和保持时间?因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。

2023-03-15 14:38:21 1749 1

原创 【freeRTOS系统基础知识】

Free RTOS基础知识

2022-08-02 15:39:40 867 1

原创 【C语言--练习题求最大最小值】

题目为:/*输入三个值:求最大最小值 */#include <stdio.h>int main(){ int a,b,c,max,min; printf("请输入三个整数:"); scanf("%d,%d,%d",&a,&b,&c); if(a>b){ max=a; min=b; }else{ max=b; min=a; } if(max<c){ max=c; }else if(min>c){

2022-04-19 17:14:19 684

原创 【C语言-练习题计算三角形面积】

计算三角形面积题目如下:/*输入三角形的三边长,求三角形面积 */#include <stdio.h>#include <math.h>int main(){ float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); ys = (a+b+c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.

2022-04-19 16:52:41 796

原创 【C语言--字符数据的输入输出】

1、putchar函数–字符输出函数功能是在显示器上输出单个字符。形式为:putchar(字符变量);例如:putchar('A');//输出大写字母Aputchat(x);//输出字符变量x的值2、getchar函数–键盘输入函数功能是从键盘上输入一个字符。形式为:getchar();char c;c=getchar();//给c获取字符例子:#include <stdio.h>int main(){ char c; printf("请输入一个字符:");

2022-04-19 16:38:15 10562

原创 【C语言--switch语句】

switch语句用法:switch (表达式){case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式3:语句3;break;case 常量表达式4:语句4;break;…case 常量表达式n:语句n;break;default:语句n+1;break;}break可以跳出switch语句,不用执行下面的语句。#include <stdio.h>/*a--f大小写字母的转换 */int main(){ ch

2022-04-19 15:49:26 823

原创 【C语言--sizeof运算符】

sizeof运算符*sizeof运算符用于获得数据类型或表达式的长度sizeof有三种表示方式(1)sizeof(对象)(2)sizeof(类型)(3)sizeof 对象#include <stdio.h>int main(){ printf("char:%d\n",sizeof(char));//char的大小 printf("int:%d\n",sizeof(int));//int的大小 printf("float:%d\n",sizeof(float));//flo

2022-04-12 19:18:29 1472

原创 【C语言--变量】

变量名:(1)变量名只能是英文字母和数字或者下划线组成。(2)第一个字母必须是字母或者是下划线。(3)变量名区分大小写(4)不能使用关键字来命名变量int a;//整数型float b;//单精度型double c;//双精度型char d;//字符型...

2022-04-12 18:55:02 482

原创 单片机---独立按键和矩阵按键

独立按键S2接口为:P3^0=0;//代表按下,反之为高电平1则为没有按下 ![独立按键矩阵按键区别](https://img-blog.csdnimg.cn/20191021125248483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubm...

2019-10-21 13:00:15 633

原创 单片机---数码管

位选锁存器口为:P2^7;打开P0为8个数码管打开位选:we=1;关闭位选:we=0;段选锁存器口为:P2^6;打开P0为一个数码管上的8个位置打开段选:du=1;关闭段选:du=0;a-dp,从低八位到高八位;且1为亮,0为暗;[0-9]对应的数组是:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}//静态数码管代码/...

2019-10-21 12:45:00 2401

原创 单片机---蜂鸣器

蜂鸣器:接口为:sbit beep=P2^3;//代码实现流水灯和蜂鸣器#include <reg52.h> #include <intrins.h> sbit beep=P2^3; void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=114;y>0;y--); }...

2019-10-21 12:34:48 880

原创 JAVASE--递归方法

一个方法体内调用它自身,被称为方法递归。public class febi { public static void main(String[] args) { System.out.println(fb(4)); } public static int fb(int n){ if(n==1||n==2){ retu...

2019-08-13 22:41:27 210

原创 JAVASE--可变参数

使用前提:当参数列表数据类型已经确定,但是参数的个数不确定就可以使用可变参数。、格式:修饰符 返回值类型 方法名 (数据类型 …变量名){ }public static void main(String[] args) { int i = add(10,20,30,40);} public static int add(int...arr){ System.out.p...

2019-08-13 22:01:09 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除