python学习
文章平均质量分 81
隐名_C
这个作者很懒,什么都没留下…
展开
-
缺少 numpy.random.common
我使用python的tkinter编写了一个程序,用pyinstaller编译之后,程序提示failed to execute script 文件名错误提示:no module named 'numpy.random.common'可是我重新pip numpy模块还是不好用 请问怎么解决?遇到这个问题,通过重新安装numpy 1.16.2 版本解决的pip uninstal...原创 2019-08-07 16:31:48 · 1794 阅读 · 0 评论 -
python数据结构与算法(16)
时间复杂度最优时间复杂度:O(nlogn) 最坏时间复杂度:O(n ) 稳定性:不稳定从⼀开始快速排序平均需要花费O(n log n)时间的描述并不明显。但是不难观 察到的是分区运算,数组的元素都会在每次循环中⾛访过⼀次,使⽤O(n)的 时间。在使⽤结合(concatenation)的版本中,这项运算也是O(n)。在最好的情况,每次我们运⾏⼀次分区,我们会把⼀个数列分为两个⼏近相 等的⽚段。...转载 2019-03-08 09:51:46 · 172 阅读 · 0 评论 -
python数据结构与算法(15)
选择排序选择排序(Selection sort)是⼀种简单直观的排序算法。它的⼯作原理如 下。⾸先在未排序序列中找到最⼩(⼤)元素,存放到排序序列的起始位 置,然后,再从剩余未排序元素中继续寻找最⼩(⼤)元素,然后放到已排 序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置 上,则它不会被移动。选择排序每次交换⼀对元素,它们当中⾄少...转载 2019-03-08 09:50:38 · 189 阅读 · 0 评论 -
python数据结构与算法(14)
快速排序快速排序(英语:Quicksort),⼜称划分交换排序(partition-exchange sort),通过⼀趟排序将要排序的数据分割成独⽴的两部分,其中⼀部分的 所有数据都⽐另外⼀部分的所有数据都要⼩,然后再按此⽅法对这两部分数 据分别进⾏快速排序,整个排序过程可以递归进⾏,以此达到整个数据变成 有序序列。步骤为:从数列中挑出⼀个元素,称为"基准"(pivot), 2. 重新排...转载 2019-03-08 09:49:23 · 166 阅读 · 0 评论 -
python数据结构与算法(13)
选择排序选择排序(Selection sort)是⼀种简单直观的排序算法。它的⼯作原理如 下。⾸先在未排序序列中找到最⼩(⼤)元素,存放到排序序列的起始位 置,然后,再从剩余未排序元素中继续寻找最⼩(⼤)元素,然后放到已排 序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置 上,则它不会被移动。选择排序每次交换⼀对元素,它们当中⾄少...转载 2019-03-08 09:48:16 · 224 阅读 · 0 评论 -
python数据结构与算法(12)
排序与搜索排序算法(英语:Sorting algorithm)是⼀种能将⼀串数据依照特定顺序进⾏ 排列的⼀种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如 果⼀个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表 中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是⽆法分辨的,⽐如像是整数,稳定性并不是⼀个问题。然 ⽽,...转载 2019-03-08 09:46:25 · 250 阅读 · 0 评论 -
python数据结构与算法(11)
队列队列(queue)是只允许在⼀端进⾏插⼊操作,⽽在另⼀端进⾏删除操作的 线性表。队列是⼀种先进先出的(First In First Out)的线性表,简称FIFO。允许插⼊ 的⼀端为队尾,允许删除的⼀端为队头。队列不允许在中间部位进⾏操作! 假设队列是q=(a1,a2,……,an),那么a1就是队头元素,⽽an是队尾 元素。这样我们就可以删除时,总是从a1开始,⽽插⼊时,总是在队列最 后。...转载 2019-03-07 17:08:15 · 157 阅读 · 0 评论 -
python数据结构与算法(10)
栈栈(stack),有些地⽅称为堆栈,是⼀种容器,可存⼊数据元素、访问元 素、删除元素,它的特点在于只能允许在容器的⼀端(称为栈顶端指标,英 语:top)进⾏加⼊数据(英语:push)和输出数据(英语:pop)的运算。 没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存⼊的 那个元素,确定了⼀种默认的访问顺序。由于栈数据结构只允许在⼀端进⾏操作,因⽽按照后进先出(LIFO, Las...转载 2019-03-07 17:07:28 · 260 阅读 · 0 评论 -
python数据结构与算法(9)
指定位置插⼊节点def insert(self, pos, item): """在指定位置添加节点""" if pos <= 0: self.add(item) ...转载 2019-03-07 17:06:33 · 120 阅读 · 0 评论 -
python数据结构与算法(8)
链表与顺序表的对⽐链表失去了顺序表随机读取的优点,同时链表由于增加了结点的指针域,空 间开销⽐较⼤,但对存储空间的使⽤要相对灵活。链表与顺序表的各种操作复杂度如下所示:注意虽然表⾯看起来复杂度都是 O(n),但是链表和顺序表在插⼊和删除时进 ⾏的是完全不同的操作。链表的主要耗时操作是遍历查找,删除和插⼊操作 本身的复杂度是O(1)。顺序表查找很快,主要耗时的操作是拷⻉覆盖。因为 除了⽬标元素...转载 2019-03-07 17:05:20 · 164 阅读 · 0 评论 -
python数据结构与算法(7)
2018-11-28 11:57:56单链表的操作is_empty() 链表是否为空 length() 链表⻓度 travel() 遍历整个链表add(item) 链表头部添加元素 append(item) 链表尾部添加元素 insert(pos, item) 指定位置添加元素 remove(item) 删除节点 search(item) 查找节点是否存在单链表的实现class ...转载 2019-03-07 17:03:21 · 155 阅读 · 0 评论 -
python数据结构与算法(17)
归并排序归并排序是采⽤分治法的⼀个⾮常典型的应⽤。归并排序的思想就是先递归 分解数组,再合并数组。将数组分解最⼩之后,然后合并两个有序数组,基本思路是⽐较两个数组的 最前⾯的数,谁⼩就先取谁,取了后相应的指针就往后移⼀位。然后再⽐ 较,直⾄⼀个数组为空,最后把另⼀个数组的剩余部分复制过来即可。归并排序的分析6 5 3 1 8 7 2 4def merge_sort(alist): ...转载 2019-03-08 09:52:38 · 174 阅读 · 0 评论 -
python数据结构与算法(18)
树与树算法树的概念树(英语:tree)是⼀种抽象数据类型(ADT)或是实作这种抽象数据类型 的数据结构,⽤来模拟具有树状结构性质的数据集合。它是由n(n>=1)个 有限节点组成⼀个具有层次关系的集合。把它叫做“树”是因为它看起来像⼀ 棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。它具有以下的特点:每个节点有零个或多个⼦节点; 没有⽗节点的节点称为根节点; 每⼀个⾮根节点有且只有⼀个⽗节点...转载 2019-03-08 09:54:02 · 180 阅读 · 0 评论 -
使用命令行运行exe文件,打印错误信息
所在目录+.\CheckoutTool_V2_5.exehttps://github.com/pyinstaller/pyinstaller/issues/4293原创 2019-08-07 14:42:02 · 1630 阅读 · 0 评论 -
pyinstaller 支持生成exe的库
下面pyinstaller 支持生成exe的库的列表,不在列表中的库可能生成exe后无法正常使用!!!本文章引用:https://github.com/pyinstaller/pyinstaller/wiki/Supported-PackagesSupported PackagesBlink edited this pageon 13 May·22 revisionsTODO...原创 2019-08-07 11:05:55 · 515 阅读 · 0 评论 -
使用cx_freeze打包生成exe方法及问题解决
生成的setup.py程序:CheckoutTool_V2_4.py是要生成exe的py文件,与setup.py同个目录下,进入setup.py的目录下的命令行,使用指令python setup.py dist,生成的程序就在dist文件夹下import sys#import osfrom cx_Freeze import setup, Executablebase = Nonei...原创 2019-08-06 11:42:58 · 1600 阅读 · 0 评论 -
Python读写csv
# -*- coding: utf-8 -*-"""@Time:2019/5/27 11:54@Author: Cai jz"""# import zipfile, os# os.chdir('C:\\Users\\xa\\Desktop')# exzip = zipfile.ZipFile('aa.zip')# exzip.namelist()# import webbrow...原创 2019-05-29 16:42:24 · 237 阅读 · 0 评论 -
Python串口发送16进制命令
# -*- coding: utf-8 -*-"""@Time:2019/5/23 16:04@Author: Cai jz"""from serial import Serialimport timeimport serial.tools.list_portsimport datetime#查看可用端口号def find_com(): plist = list(se...原创 2019-05-29 16:35:10 · 7523 阅读 · 2 评论 -
Python_CRC16-MODBUS校验
# -*- coding: utf-8 -*-"""@Time:2019/5/24 14:16@Author: Cai jz"""from binascii import *from crcmod import *import time# CRC16-MODBUSdef crc16Add(read): crc16 = crcmod.mkCrcFun(0x18005, ...原创 2019-05-29 16:31:37 · 2623 阅读 · 0 评论 -
Python时间格式化
# -*- coding: utf-8 -*-"""@Time:2019/5/28 16:30@Author: Cai jz"""from datetime import datetimeimport timelocaltime1=datetime.now().strftime('%Y-%m-%d %H:%M:%S %a')print(locatime1)localtime2 =...原创 2019-05-29 16:25:15 · 779 阅读 · 0 评论 -
Python_try...except精准返回错误信息
try...except...监测一段代码,想要准确的定位错误类型与错误明细举个栗子,我们想要找到列表a的第四个值,然而其实并不存在...1.写成'except Exception as e'的形式这时候,代码只要写成下面这样就好了:a = [1,2,3]try: a[3]except Exception as e: print('错误类型是',e.__cla...转载 2019-05-31 14:00:30 · 8008 阅读 · 0 评论 -
python数据结构与算法(20)
⼆叉树的遍历树的遍历是树的⼀种重要的运算。所谓遍历是指对树中所有结点的信息的访 问,即依次对树中每个结点访问⼀次且仅访问⼀次,我们把这种对所有节点 的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍 历和⼴度优先遍历,深度优先⼀般⽤递归,⼴度优先⼀般⽤队列。⼀般情况下 能⽤递归实现的算法⼤部分也能⽤堆栈来实现。深度优先遍历对于⼀颗⼆叉树,深度优先搜索(Depth F...转载 2019-03-08 09:55:43 · 211 阅读 · 0 评论 -
python数据结构与算法(19)
⼆叉树⼆叉树的基本概念⼆叉树是每个节点最多有两个⼦树的树结构。通常⼦树被称作“左⼦树”(left subtree)和“右⼦树”(right subtree)⼆叉树的性质(特性)性质1: 在⼆叉树的第i层上⾄多有2^(i-1)个结点(i>0) 性质2: 深度为k的⼆叉树⾄多有2^k - 1个结点(k>0) 性质3: 对于任意⼀棵⼆叉树,如果其叶结点数为N0,⽽度数为2的结点总数 ...转载 2019-03-08 09:54:54 · 171 阅读 · 0 评论 -
python数据结构与算法(6)
Python中的顺序表Python中的list和tuple两种类型采⽤了顺序表的实现技术,具有前⾯讨论的顺 序表的所有性质。tuple是不可变类型,即不变的顺序表,因此不⽀持改变其内部状态的任何操 作,⽽其他⽅⾯,则与list的性质类似。list的基本实现技术Python标准类型list就是⼀种元素个数可变的线性表,可以加⼊和删除元素, 并在各种操作中维持已有元素的顺序(即保序),⽽且还具...转载 2019-03-07 17:01:50 · 181 阅读 · 0 评论 -
python数据结构与算法(5)
顺序表的结构与实现顺序表的结构⼀个顺序表的完整信息包括两部分,⼀部分是表中的元素集合,另⼀部分是 为实现正确操作⽽需记录的信息,即有关表的整体情况的信息,这部分信息 主要包括元素存储区的容量和当前表中已有的元素个数两项。顺序表的两种基本实现⽅式图a为⼀体式结构,存储表信息的单元与元素存储区以连续的⽅式安排在⼀块 存储区⾥,两部分数据的整体形成⼀个完整的顺序表对象。⼀体式结构整体性强...转载 2019-03-07 17:00:34 · 134 阅读 · 0 评论 -
python数据结构与算法(4)
数据结构我们如何⽤Python中的类型来保存⼀个班的学⽣信息? 如果想要快速 的通过学⽣姓名获取其信息呢?实际上当我们在思考这个问题的时候,我们已经⽤到了数据结构。列表和字 典都可以存储⼀个班的学⽣信息,但是想要在列表中获取⼀名同学的信息 时,就要遍历这个列表,其时间复杂度为O(n),⽽使⽤字典存储时,可将学 ⽣姓名作为字典的键,学⽣信息作为值,进⽽查询时不需要遍历便可快速获 取到学⽣信息,其...转载 2019-03-07 16:53:57 · 183 阅读 · 0 评论 -
Python显示所有指定(视频)格式文件
使用os模块找出所有后缀为.mp4/.avi/.rmvb/flv的视频格式文件,并将文件路径添加写入到指定的文本。# 显示所有视频格式文件,MP4,avi,rmvb,flvimport osimport os.pathdef search_file(start_dir,target): os.chdir(start_dir) # 改变当...原创 2018-05-31 14:16:58 · 1962 阅读 · 0 评论 -
Python获取目录及其子目录下文件大小并计算所有文件大小总和
# 获取目录下文件大小并计算文件大小总和import osimport os.pathlist1 = []def get_size(path): fileList = os.listdir(path) # 获取path目录下所有文件 for filename in fileList: pathTmp = os.path.join(path,filename...原创 2018-05-31 11:16:41 · 10808 阅读 · 2 评论 -
Python获取指定目录及其子目录下的. py 文件
import osimport os.path# 获取指定目录及其子目录下的 py 文件路径说明:l 用于存储找到的 py 文件路径 get_py 函数,递归查找并存储 py 文件路径于 llist1 = []def get_py(path,list1): fileList = os.listdir(path) # 获取path目录下所有文件 for filename i...原创 2018-05-31 11:10:43 · 5537 阅读 · 1 评论 -
Python实现银行自助存取款系统
# -*- coding:utf-8 -*-"""@Time : 2018/6/1 17:42@Author: Cai Jinzhi@File : Bank_Self-service_Deposit_and_Withdrawal_System-2.py"""#创建用户账号管理库Account = [{'Name':'Jack','Password':'123...原创 2019-03-08 10:06:52 · 5637 阅读 · 1 评论 -
Python用while循环实现九九乘法表
# while循环实现九九乘法表i = 1while i<=9: j = 1 while j<=i: print("{}*{}={:<2}".format(i,j,i * j),end = " ") j += 1 i += 1 print("")print('-'*26+'神奇的分割线1'+'-'*26)...原创 2018-05-31 10:07:02 · 12861 阅读 · 1 评论 -
Python用for循环实现九九乘法表
#for 循环实现99乘法表for i in range (1,10): for j in range (1,i+1): print("{}*{} = {:<4}".format(i,j,i*j),end = " ") print("")print('第1种'+"-"*96)for i in range (9,0,-1): for j in ...原创 2018-05-31 09:59:08 · 15735 阅读 · 0 评论 -
Python实现斐波那契额数列
'''n = int(input("请输入一个整数:"))def fab(n): if n<1: print("输入有误!") return -1 if n == 1 or n == 2: return 1 else: return fab(n-1) + fab(n-2)result = [...原创 2018-05-31 09:53:19 · 819 阅读 · 0 评论 -
Python数字猜谜游戏
print('二,数字猜字游戏')print('数字猜迷游戏!')a = 1i = 0while a != 20: a = int(input('请输入你猜的的数字')) i += 1 if a == 20: if i < 3: print('真厉害,这么快猜对了!') else: ...原创 2018-05-31 09:50:24 · 3041 阅读 · 0 评论 -
Python冒泡排序
def paixu(aa): temp = 0 for i in range(len(aa) - 1): for j in range(len(aa) - 1 - i): if aa[j] > aa[j + 1]: temp = aa[j] aa[j] = aa[j + 1...原创 2018-05-31 09:45:47 · 206 阅读 · 1 评论 -
python的os模块详解
常见函数列表123456789101112131415161718192021222324252627282930313233os.sep:取代操作系统特定的路径分隔符os.name:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。os.getenv()和...转载 2018-05-31 14:59:59 · 207 阅读 · 0 评论 -
Python常用方法
一 easy_install 和 pip 的安装及使用easy_install 和 pip的介绍:easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包的,pip是easy_install的改进版,提供更好的提示信 息,删除package等功能。老版本的python中只有easy_install, 没有pip。easy_install 打包和发布 Pyt...原创 2018-05-31 16:58:18 · 363 阅读 · 0 评论 -
python数据结构与算法(3)
Python内置类型性能分析 timeit模块timeit模块可以⽤来测试⼀⼩段Python代码的执⾏速度。class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)Timer是测量⼩段代码执⾏速度的类。stmt参数是要测试的代码语句(statment);setup参数是运⾏代码时需要的设置;t...转载 2019-03-07 16:52:01 · 151 阅读 · 0 评论 -
python数据结构与算法(2)
算法效率衡量执⾏时间反应算法效率对于同⼀问题,我们给出了两种解决算法,在两种算法的实现中,我们对程 序执⾏的时间进⾏了测算,发现两段程序执⾏的时间相差悬殊(214.583347 秒相⽐于0.182897秒),由此我们可以得出结论:实现算法程序的执⾏时间 可以反应出算法的效率,即算法的优劣。单靠时间值绝对可信吗?假设我们将第⼆次尝试的算法程序运⾏在⼀台配置古⽼性能低下的计算机 中,情况会如何...转载 2019-03-07 15:53:57 · 212 阅读 · 0 评论 -
python数据结构与算法(1)
数据结构与算法(Python) Why?我们举⼀个可能不太恰当的例⼦:如果将开发程序的过程⽐喻为作战,我们码农便是指挥作战的将军,⽽我们 所写的代码便是⼠兵和武器。那么数据结构和算法是什么?答⽈:兵法!我们可以不看兵法在战场上⾁搏,如此,可能会胜利,可能会失败。即使胜 利,可能也会付出巨⼤的代价。我们写程序亦然:没有看过数据结构和算 法,有时⾯对问题可能会没有任何思路,不知如何下⼿去解决;...转载 2019-03-08 09:58:24 · 192 阅读 · 0 评论