- 博客(27)
- 收藏
- 关注
原创 一般有限状态机
状态机是一类很重要的时序电路,除了输入信号、输出信号外,状态机还包括一组寄存器记忆状态机的内部状态。或为内部其他组合或时序进程输出控制信号的内容(为了稳定输出设置的数据锁存器等)为了完成某种算法的进程 or 用于配合状态机工作的其他时序进程。:使用TYPE语句定义新的数据类型,一般为枚举类型。状态机包括两个部分:组合逻辑部分和寄存器部分。根据外部输入的控制信号,和当前状态的状态值。用于配合状态机工作的组合进程或时序进程->,作为状态机的驱动泵。
2023-05-31 18:32:48
241
原创 数据结构考前小练习--py
二、有一棵非空满二叉树采用二叉链存储,结点类型如下: class BTNode:#二叉链中结点类 def __init__(self,d=None): #构造方法 self.data=d#结点值 self.lchild=None #左孩子指针 self.rchild=None #右孩子指针 设计一个尽可能高效的算法求根结点为b的满二叉树的结点个数。设计一个算法判断其中值为x的结点与值为y的结点是否为兄弟结点,若是兄弟结点返回True,否则返回False。self.data=d #结点值。
2023-05-24 20:16:13
382
原创 数据结构------递归(python版)
在设计单链表的递归算法时通常采用不带头节点的单链表,这是因为小问题处理的单链表也不可能带头结点,大小问题处理的单链表需要在结构上相同所以整个单链表也不应该带头结点。实际上,若单链表对象L是带头结点的,则L.head.next就看成是一个不带头结点的单链表。Python的递归函数中的参数分为可变类型和不可变类型,实际上只有不可变类型的参数才保存在系统栈中,具有自动回退的功能,而可变类型的参数类似全局变量,不具有自动回退的功能。再将Y塔座上的n-1个盘子借助X挪到Z塔座上。求整数x的所有数位的和。
2023-04-14 11:54:31
251
原创 数据库实验一 ——— 表与视图的基本操作
使用数据库、创建表学号为该列属性名,char(4) 表示数据类型;not null 指定该属性值不能为null,primary key 指定该属性为主键插入数据类型须和创建中的数据类型相对应modify设置该列值可为null,再用update设置值为null利用modify将某列数据类型改变为decimal(5, 2):8、为表添加列添加名为 备注,数据类型为 varchar(50) 的列9、删除表中的列10、创建数据库studb并
2022-12-04 14:57:59
1277
原创 Python序列
来修改列表中元素的值或通过可变序列对象自身提供的方法来增加和删除元素时,序列对象在内存中的起始地址是不变的,仅仅是被改变值的元素地址发生改变,也就是所谓的“原地操作”在删除列表元素时,Python会自动对列表内存进行收缩并移动列表元素以保证所有元素之间没有空隙,增加列表元素时也会自动扩展内存并对元素进行移动以保证元素之间没有空隙。如果元组中包含列表或其他类型的可变对象,这些对象是可变的,但是元组元素的引用是不可变的。使用乘法来扩展列表对象,将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复。
2022-10-03 11:23:11
1001
原创 利用python的requests爬取高清壁纸
发现地址位于a标签的href的属性中,所以我们利用xpath提取出高清图地址后在该页面进行xpath操作获取下载地址即可保存图片。即对应一个div列表,此时发现高清图地址位于a标签的href属性值中,所以需获取高清图地址。之前爬取的时候出现了由于爬取过快而被禁掉IP的问题,所以在这把 timeout调大一点。点击小wifi图标,最下面的user-agent即设为headers。1. 确定网站的user-agent。可见图片已经保存在指定的目录下咯。继而在高清图页面进行源码分析。找出图片所对应的代码块。...
2022-08-08 14:58:31
821
原创 Python学习之hashlib模块
1.hash是一种算法,该算法接收传入的内容,经过运算得到一串hash值2.hash值的特点: a. 只要传入内容一样,则所获hash值一样 b. 不能由hash值反解出内容 c. 只要使用的hash算法不变,无论校验的内容多大,所得的hash长度是固定的......
2022-08-06 15:25:25
470
原创 C++之类的继承
类之间的继承关系是对现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和方法的共享,即派生类可以沿用基类的某些特征基类是派生类的抽象,派生类是基类的具体在类的层次结构中,最高层的类抽象程度最高,更具有普遍性;最底层的类最具体,更具有特殊性。若A类派生出B类,一般约定把A称为基类或者父类,把B称为派生类或者子类。继承和派生是事物的两个方面,A类派生出B类,也可以说成B类是从A类继承来的。C++定义派生类的一般形式为:class 派生类名:继承方式 基类名1,继承方式 基类名2...
2022-05-31 17:49:42
227
原创 C++之运算符重载(8)
顾名思义,重载便是重新赋予新的含义。运算符重载的方法:定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,即本质上是通过定义函数来实现的。重载运算符的函数一般格式为: 函数类型 operator 运算符名称 (形参表列){对运算符的重载处理}例如: Complex operator+ (Complex& c1,Complex& c2);以下运算符不能重载:. (成员访问运算符).* (成员指针访问运算符):: (域运算符)sizeof
2022-05-24 16:42:07
268
原创 C++获取当前时间(附加修改时间功能)
利用C++实现以下功能:1.获取当前时间2.可设置时间3.可执行天数加一的操作代码如下:#include <iostream>#include<ctime>#include<cstdio>#include<time.h>using namespace std;class Date {public: void _gettime(); //获取当前时间 void _entrance(int Year,
2022-05-21 20:39:30
6278
原创 C++从入门到入狱(7)
指向对象的常指针Time *const pt1;//Time为已声明的类此时将pt1声明为const型,则指针值始终保持为其初值不改变。一般形式: 类名 *const 指针名;指向常对象的指针变量const 类型名 *指针变量名1)不能通过该指针变量去修改其所指向的变量,只能引用。2)若变量已被声明为常变量则必须用指向常变量的指针变量来指向它。const型数据小结Time const t1;t1为常对象,无论何时都不能改变Time:: fun()c.
2022-05-17 16:42:13
272
原创 kivy第四辑
GridLayout中的FloatLayouts和RelativeLayouts:相对于FloatLayouts,RelativeLayouts的坐标是相对于布局而言的:from kivy.uix.gridlayout import GridLayout导入模块kv文件:<Button>: size: 100,50 size_hint: None,None<GridLayout>: rows: 2 #1 Flo..
2022-05-14 15:25:21
121
原创 C++从入门到放弃(6)
对象数组数组中每一个元素都是同类的对象如: Student stud[50]; //已声明Student类若构造函数只有一个参数,则可在定义对象数组时直接为其提供实参:Student stud[3]={20,30,40};另外,编译系统只为每个对象元素的构造函数传递一个实参,所以在定义数组时提供的实参个数不能超过数组元素的个数。若构造函数有多个参数,则在定义数组时为其赋值:Student stud[3]={Student{1,2,3},Student{4,5,6},S.
2022-05-13 10:54:58
114
原创 C语言N-S图(讲解分析+实例)
N-S图优点:1.形象直观,功能域明确,具有良好的可见度2.很容易确定局部和全局数据的作用域3.很容易表示嵌套关系及模块的层次关系总之,在我们将算法写出来之后就可以用这种形象化流程的方式将其呈现出来咯。N-S图基本结构:包括顺序、循环、选择三种基本结构顺序结构第一步执行A,第二步执行B例如:int A=1;int B=2;选择结构TRUE对应执行sum++语句FALSE对应执行sum--语句即如下:循环结构当型循环...
2022-05-11 11:58:28
6473
原创 C++从入门到放弃(5)
类的封装性和信息隐蔽私有实现:类中被操作的数据是私有的,实现细节对于用户而言是隐蔽的。类的共用接口 和私有实现的分离形成了信息隐蔽类声明和成员函数定义的分离在头文件中进行类的声明://file name:student.h#pragma onceclass student{public: void display();private: int num; char name[20]; char sex;};main.h:#include &l.
2022-05-10 20:23:10
126
原创 用C求出在形参指针所指四个数中的最大值和最小值
#include <iostream>int fun(int* p1, int* p2, int* p3, int* p4);int main(){ int a, b, c, d; int* p1 = &a; int* p2 = &b; int* p3 = &c; int* p4 = &d; scanf_s("%d%d%d%d", &a, &b, &c, &d); f.
2022-05-08 20:09:14
717
原创 C++从入门到放弃(4)
private :只能被本类的或友元类中的成员函数所引用,类外不可调用友元类friend class 类名;class A{ public: friend class B;};说明B是A的友元类 使用友元类时注意: (1) 友元关系不能被继承 (2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类A不一定是类B的友元,要看在类中是否有相应的声明 (3) 友元关系不具有传递性。若类B是类A...
2022-05-05 20:13:04
86
原创 C++从入门到放弃(3)
字符的读取使用cin读取:#include<iostream>using namespace std;int main(){ char ch; cin >> ch; cout << "字符是:" << ch << endl; return 0;}运行结果:可见cin忽略了之前的空格,直接读取了字符‘a’,而对于cin.get():#include<iostream>using name.
2022-05-03 16:54:20
674
原创 kivy第三辑
使用内部布局的大小、宽度和高度属性进行缩放示例:kv文件->#file name: my.kv<MyFloat>: MyButton: text: 'Press here one' pos:20,50 size:200,20 MyButton: text: 'Press me two' pos:500,500 size_hi.
2022-05-02 22:29:34
253
原创 kivy第二辑
自定义小部件通过导入widget来构建小部件main.py文件:import kivyfrom kivy.app import Appfrom kivy.uix.widget import Widgetfrom kivy.uix.button import Buttonclass MyButton(Button): passclass MyWidget(Widget): passclass MyApp(App): def build(self.
2022-05-01 22:42:32
124
原创 初入kivy
使用Label标签输出Hello world!import kivyfrom kivy.app import Appfrom kivy.uix.label import Labelclass MyApp(App): def build(self): return Label()if __name__ == '__main__': MyApp().run()此处引用了Label(),但是编译器并不知道它是啥,因此需要用到.kv文件进行注释,kv文
2022-04-30 17:10:29
506
原创 C++从入门到放弃(2)
函数重载c++中允许在同一作用域中用同一函数名来定义多个函数,这些函数的参数个数和参数类型不相同,它们用来实现不同的功能,即一个函数名多用。利用函数重载计算三个数中的最大值:#include<iostream>using namespace std;int max(int a, int b, int c){ if (b > a) a = b; if (c > a) a = c; return a;}float max(float a, float.
2022-04-28 21:37:17
739
原创 初入C++(从入门到放弃)
简单的c++程序:#include <iostream>using namespace std;int main(){ cout << "HELLO!" << endl; cout << "WELCOME TO C++" << endl; return 0;}前两行调用头文件,cout输出双引号内字符串,endl相当于回车换行1.可见,c与c++程序都有一个main函数,控制程序执行的开始和结束。.
2022-04-26 21:14:30
1139
原创 python学习(3)
实现华氏温度和摄氏温度之间转换的代码:#!/usr/bin/env python# coding=utf-8C = float(input("请输入摄氏温度:"))F = 1.8 * C + 32print("对应的华氏温度为:", F)f = float(input("请输入华氏温度:"))c = (f - 32)/1.8print("对应的摄氏温度:", c)...
2022-01-22 13:12:49
504
原创 python(2)
编写一个可以计算给定数字的阶乘的程序。结果应以逗号分隔序列打印在一行上法一:利用递归#!/usr/bin/env python# coding=utf-8def jiecheng(x): if x==0: return 1 return x * jiecheng(x-1)x=input('请输入一个数字:')print('%d'%jiecheng(x))法二:利用循环#!/usr/bin/env python# coding=utf
2022-01-18 16:36:32
280
原创 python学习(1)
编写一个程序,它将找到所有可以被7整除但不是5的倍数的这些数字。在2000年到3200年之间(都包括在内)。获得的数字应以逗号分隔的序列打印在一行上。TIps:利用range()控制范围#!/usr/bin/env python的作用utf-是找到对应可用python位置#coding=utf-8 声明编码类型(可输出中文)先创建空列表,再使用append添加字符元素‘’.join()为字符串操作函数,‘,’.join(l)可将其拼接成一个字符串,各元素之间以‘,’隔开实现.
2022-01-18 15:20:06
1136
原创 用C语言求100以内的完数
用C语言求100以内的完***斜体样式***## 标题数(完数:等于自身的因数之和)因为最近在准备期末考试,做实验报告时遇到了,简单小结一下:1.刚开始使用双重循环,导致在求因数之和的时候总是多加2.可以使用余数为零的方法求解代码如下:#include<stdio.h>int main(){for (int a = 1; a <= 100; a++){int sum = 0;for (int i = 1; i < a; i++){if (a % i == 0)
2022-01-08 14:56:30
5649
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人