![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 51
山河之书Liu_Zixin
这个作者很懒,什么都没留下…
展开
-
基于Python的数据结构实验——内排序(直接插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序)(附详细代码和注释)
调用 AdjustPartition(self,low,high)方法对指定部分的序列进行分区;调用 InsertSort()方法对序列 SSequenceList 进行排序。调用 QuickSort(self,low,high)方法对序列进行排序。调用 MergeSort()方法对序列进行归并排序。调用 BubbleSort()方法对序列进行排序。调用 SelectSort()方法对序列进行排序。调用 ShellSort()方法对序列进行排序。调用 HeapSort()方法对序列进行堆排序。原创 2023-01-13 16:30:48 · 988 阅读 · 0 评论 -
基于Python的数据结构实验——静态查找(顺序查找算法,折半查找算法)(附详细代码和注释)
创建名为 prac09.py 的文件,在其中编写一个静态查找表的类,该类必须包含静态查找表的基本操作,同时还要实现顺序查找算法。以下步骤测试上述实现是否正确。将关键字为(3,5,9,16,17,25,39,42,53)的序列依次存入表 StaticTable 中。初始化一个静态查找表 StaticTable。采用折半查找算法查找关键字为 17 的数据元素。遍历 StaticTable,并输出所有元素。采用顺序查找算法查找关键字为 9 的数据元素。判断 StaticTable 是否为空。原创 2023-01-13 16:15:06 · 671 阅读 · 4 评论 -
基于Python的数据结构实验——图的最小生成树(图的数组表示,Kruskal与Prim算法)(附详细代码和注释)
创建名为 prac08.py 的文件,在文件中定义两个类,一个是顶点的结点类,另一个是图类,该类包含存储连通网的邻接矩阵、广度优先遍历图的方法和求连通网的最小生成树的方法。请按以下步骤实现连通网的最小生成树算法。(注:本文所使用的图的写入方法是根据连接作图,也就是无需提前构建节点,直接写连接,涉及到的节点将会自动导入,如上图可表示为:A1B,A3E,A1D等边,用边描述图)比较3和4中构造最小生成树的过程,深入理解 Prim 算法和 Kruskal 算法构造连通网的最小生成树的差异。原创 2023-01-13 13:19:18 · 981 阅读 · 0 评论 -
基于Python的数据结构实验——二叉树的构建与遍历(先序、中序、后序、层次遍历,修改、添加节点)(附详细代码和注释)
(注:我使用的二叉树写入的方法是,一层一层写,有两个规矩,一是确保每一个节点的孩子都必须是写入了数据的节点或#节点,二是确保最后一个#之前不能存在空节点,即对于上述二叉树,其应该表示为ABCDEFGH##IJ#############,分层后是A|BC|DEFG|H##IJ###|##########)创建名为 prac07.py 的文件,在文件中定义两个类,一个是二叉树的结点类,该类包含结点的相关信息(如结点的值和左、右子树);另一个是二叉树的类,该类包含二叉树的定义及其基本操作。原创 2023-01-13 12:31:05 · 2471 阅读 · 0 评论 -
Python Socket联机自动匹配双人五子棋(含登录注册系统与界面,数据库连接,可作结课作业,可用于学习)
万万没想到啊,我大学以来虽然上了Python的课程,反而我写的体量稍大的程序都不属于Python课程的,而是分别归属于数据库原理和计算机网络(即本文所述程序)。这确实是我未曾设想的道路。不过虽然是意料之外,却也是情理之中。单单一个Python如果不配合应用场景,使用需求,也写不出什么能提高综合代码水平的稍复杂的程序。原创 2023-01-12 18:14:30 · 2757 阅读 · 6 评论 -
基于Python的数据结构实验——字符串的模式匹配(BF和KMP算法代码实现)(附详细代码和注释)
3、创建名为 prac05_02.py 的文件,在其中编写 KMP 算法,同时需实现模式串的 ListNextValue 函数(即修正后的),具体步骤如下。(3)主串 S 调用 KMP 算法并以起始位置、模式串 T 及模式串 T 的 ListNextValue 函 数值为参数,验证 KMP 算法的正确性。(3)主串 S 调用 BF 算法并以起始位置和模式串 T 为参数,验证 BF 算法的正确性。(2)在主串 S 中设置 BF 算法匹配的起始位置,并实现 BF 算法。(1)创建主串 S 和模式串 T。原创 2022-11-10 09:57:03 · 1534 阅读 · 4 评论 -
基于Python的数据结构实验——循环顺序队列与递归(附详细代码和注释)
1、创建名为 prac04_01.py 的文件,在其中编写一个循环顺序队列的类,该类必须包含 循环顺序队列的定义及基本操作,并通过以下步骤测试各种基本操作的实现是否正确。(1)初始化一个循环顺序队列 CircularSequenceQueue。(4)将元素 1,3,5,7,9,......依次进队至队满。(3)设置适当的 n 值,比较两种算法的运行时间。(2)将(1)中的递归算法转换为非递归算法。(3)遍历队列内的所有元素。(5)遍历队列内的所有元素。(2)判断队列是否为空。(7)获取队列的长度。原创 2022-11-03 07:50:38 · 2086 阅读 · 0 评论 -
基于Python的数据结构实验——顺序栈与链栈建立与操作(附详细代码和注释)
2、创建名为 prac03_02.py 的文件,在其中编写结点的类和链式栈的类,后者必须包含 链式栈的定义及基本操作,并通过以下步骤测试基本操作的实现是否正确,给出运行结果。1、创建名为 prac03_01.py 的文件,在其中编写一个顺序栈的类,该类必须包含顺序栈 的定义及基本操作,并通过以下步骤测试基本操作的实现是否正确,给出运行结果。(3)将元素 1,3,5 依次进栈。(3)将元素 2,4,6 依次进栈。(2)判断栈是否为空。(8)判断栈是否为空。(2)判断栈是否为空。(6)获取栈的长度。原创 2022-10-19 19:16:16 · 3243 阅读 · 1 评论 -
基于Python的数据结构实验——顺序表与单链表建立与操作(附详细代码和注释)
2、创建名为 prac02_02.py 的文件,在其中编写一个结点类,该类中必须包含结点的定 义及初始化操作,再编写一个单链表类,该类中包含单链表的定义及基本操作。1、创建一个名为 prac02_01.py 的文件,在其中编写一个顺序表的类,该类必须包含顺 序表的定义及基本操作,并通过以下步骤测试基本操作的实现是否正确,给出运行结果。(3)将值为 33,24,231,3,11 的结点依次链入 SLL 中。(3)将元素 2,5,16,55,8 依次存入 SL 中。(7)删除 SLL 中第 4 个位置的结点。原创 2022-10-17 18:35:38 · 5574 阅读 · 3 评论 -
基于RSA加密和Tkinter可视化的密码存储程序(可用于期末作业设计、Python练习、实用应用;抗错误输入、抗密码盗取)三:主函数界面
密码信息(平台,账号,密码三个属性)插入,基于平台名称的密码信息模糊查询,密码信息定位修改(仅能修改密码,其他两项不能),密码信息定位删除,用户密码登录,忘记密码登录,登录密码修改,密保问题修改,密钥(公钥私钥)加密存储,密码信息、登录检查信息加密存储;本文主要包括数据操纵主界面(增删改查功能一个不少),还有修改密码,修改密保问题及答案的辅助界面,主要逻辑就是读出加密存储的信息列表,然后私钥解密,进行基于关键字的查询或者执行基于关键字删除,修改;完成后对写入的新信息进行加密,写入列表,重新写入文件;原创 2022-10-06 23:52:02 · 600 阅读 · 2 评论 -
基于RSA加密和Tkinter可视化的密码存储程序(可用于期末作业设计、Python练习、实用应用;抗错误输入、抗密码盗取)二:登录、注册界面
这个就算了吧)但是,密码是8位以上的无限位,同时需要包含大小写字母和数字,让暴力破解当场崩溃,接下来就是代码段(注释明确),我会在最后放上程序截图。注册界面(为保证安全,仅支持一次性注册),密码修改界面,密保问题修改界面,忘记密码登录界面;密码信息(平台,账号,密码三个属性)插入,基于平台名称的密码信息模糊查询,密码信息定位修改(仅能修改密码,其他两项不能),密码信息定位删除,用户密码登录,忘记密码登录,登录密码修改,密保问题修改,密钥(公钥私钥)加密存储,密码信息、登录检查信息加密存储;原创 2022-10-05 23:47:12 · 699 阅读 · 0 评论 -
基于RSA加密和Tkinter可视化的密码存储程序(可用于期末作业设计、Python练习、实用应用;抗错误输入、抗密码盗取)一:思路介绍以及前期准备
登录界面,数据操纵界面;注册界面(为保证安全,仅支持一次性注册),密码修改界面,密保问题修改界面,忘记密码登录界面;密码信息(平台,账号,密码三个属性)插入,基于平台名称的密码信息模糊查询,密码信息定位修改(仅能修改密码,其他两项不能),密码信息定位删除,用户密码登录,忘记密码登录,登录密码修改,密保问题修改,密钥(公钥私钥)加密存储,密码信息、登录检查信息加密存储;原创 2022-10-04 22:21:29 · 330 阅读 · 0 评论 -
论不使用除rsa之外的任何其他模块实现RSA加密解密,以及密钥存储
在加密手段中比较可行的就是RSA加密。然而RSA加密在用Python实现时存在一些问题。crypto、pycrypto、pycrytodome这三个本来是足够强大且极其便捷的加密解密模块,但坏消息是我用PyCharm是无法使用这些模块的,需要VS,而且下载了VS也很麻烦,还要修改一些列的东西才能使pip install xx这一简单的指令得以运行。可用的就是rsa模块,但是我从网上捯饬了好几个小时都没找到一个完整的从加密解密到密钥存储全流程问题解决(主要是我需要静态密钥,需要存储下来,不然早解决了)。原创 2022-09-19 16:03:20 · 285 阅读 · 0 评论 -
python如何利用format对齐不能完全对齐的中英文混合字符串
解决方法就是利用正则表达式,将字符串中所有的半角字符识别出来,并将其组成一个列表,随后根据列表长度填入等量的半角空格,相当于一一对应的将每个半角字符通过填补一个全角空格,从而将其补成一个全角字符。我承认是我草率了,确实,这但凡是中文中带一点英文字符和数字,哪怕是一个连字符,字符串立马就对不齐了,还是那个问题英文大约只有中文的一半宽度,但是它也占一个字符位置。可谓是计划通,百事通,小灵通,样样都通。然后我就对我原来的代码一通乱改,在运行效率方面我作为初学者,追求不了,因此只看运行结果的话,我处理好问题了。..原创 2022-07-17 10:41:54 · 917 阅读 · 0 评论 -
数据库系统概论(实验)期末实验代码部分
在数据库已经构建完成的状态下结合Python进行编程,写一个高考信息查询系统此处仅展示代码部分,数据库的结构和E-R图也附上,便于理解代码,代码很长(一千四百多行),我只对每个功能区进行了划分标注,具体的注释没有写,我相信代码不是无聊的,至少,可以加一些彩蛋。希望有人能看完全部的代码,就算只有一个人也行,代码没有分区,因此想找到自己需要的部分,估计只能往下划了……不过可以简单说一下,进行表查询的代码是从第290行开始的换算过来差不多是五分之一的长度处,查询代码的顺序与我给的表上面是完全一样的。需原创 2022-05-09 22:05:33 · 499 阅读 · 2 评论 -
python如何利用format对齐不能完全对齐的中文字符串
对齐字符串方式有非常多种,但,面对含有中文字符串的情况时可能出现不能完全对齐的状况,无论是横向制表符还是预留空格,都不能有效完成大量数据的对齐,不过format是可以做到的。具体陈述如下,先看代码:sale=[("《哪吒之魔童降世》",49.34),("《疯狂的外星人》",21.83),("《流浪地球》",46.18), \ ("《我和我的祖国》",29.64),("《烈火英雄》",19.76),("《中国机长》",28.46)]sale.sort(key=lambda x:x[1],r原创 2022-04-23 13:46:17 · 2201 阅读 · 5 评论 -
支持可选精度的多功能计算器(无可视化界面)
import mathwhile True: try: l = int(input("请输入计算精度(小数点后位数):")) n = input("第一个数字:") list1 = ["pai","π","pi","pie"] #列表确定输入π值时可能存在的输入方式 if n in list1 : a = math.pi elif n not in list1: if.原创 2022-03-24 19:08:38 · 478 阅读 · 0 评论 -
利用python中的matplotlib画一个优美的三维函数图像
不多废话,直接上代码:from matplotlib import pyplot as plotimport numpy as npimport mathfrom mpl_toolkits.mplot3d import Axes3Dfigure = plot.figure()axes = Axes3D(figure)r = math.sqrt(2)a = np.arange(0,2*math.pi,0.01)X = r * np.sin(a)Y = r * np.cos(a)X,Y原创 2022-04-05 13:11:19 · 2951 阅读 · 1 评论