
python
小黄鸭zm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
模拟银行系统转账 python+mysql
学习的地址:https://blog.youkuaiyun.com/xunalove/article/details/76691196使用Python DB API 访问数据库的流程:开始—->创建connection—->获取cursor—->执行查询, 执行命令, 获取数据, 处理数据—->关闭cursor —->关闭connection—->结束。模拟银行转账...原创 2019-05-13 12:12:29 · 828 阅读 · 1 评论 -
堆排序
我终于把堆排序写出来了!!!有个总结:当你觉得一个东西很难的时候,胡乱的看博客可能是极其浪费时间的,你就是打开一篇博客,然后another;如果可以的话可以找个视频看看,然后看看对应的书,沉下心慢慢看,慢慢思考,逐渐脱离书本写程序。涉及知识点:堆排序首先要建立堆 大顶堆(父节点>=左右子节点),小顶堆(父节点<=左右子节点) 在列表中实现二叉树,若父节点为alist[i...原创 2019-03-31 21:47:38 · 199 阅读 · 0 评论 -
单例模式
单例模式 单例模式(Singleton),是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境...原创 2019-03-30 18:52:33 · 133 阅读 · 0 评论 -
sys.stdin.readline()和input()的区别
今天睡了一上午,下午却依旧是只想睡觉的小黄鸭,一定要早睡啊,一定要午睡啊,不要以为睡一上午下午就不困了?Naive!!!!!关于input( )和sys.stdin.readline( )的区别sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n’忽略import sysa=sys.stdin.readline()b=i...原创 2019-03-23 14:58:41 · 2653 阅读 · 1 评论 -
理解希尔排序的不稳定性
希尔排序是插入排序的改进先按一定的间隔将待排序的序列分组,每组进行插入排序 缩小间隔 希尔排序是按照不同步长对元素进行插入排序,当刚开始元素很无序的时候,步长最大,所以插入排序的元素个数很少,速度很快;当元素基本有序了,步长很小, 插入排序对于有序的序列效率很高。所以,希尔排序的时间复杂度会比O(n^2)好一些。由于多次插入排序,我们知道一次插入排序是稳定的,不会改变相同...原创 2019-03-13 18:44:28 · 10656 阅读 · 0 评论 -
理解选择排序的不稳定性
选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n - 1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择,如果当前元素比一个元素小,而该小的元素又出现在一个和当前元素相等 的元素后面,那么交换后稳定性就被破坏了。比较拗口,举个例子,序列5 8 5 2 9,我们知道第一遍选择第1个...原创 2019-03-13 18:18:35 · 34497 阅读 · 14 评论 -
python 数据结构之单链表
今天是看书看的浑身难受的小黄鸭!!!!!!链表链表为什么会存在? 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充存储时有需要进行数据搬迁,所以使用起来不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义: 链表(linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表...原创 2019-03-13 17:23:35 · 263 阅读 · 0 评论 -
python sort() 和sorted() 的区别
感觉每次需要用到sort() 以及sorted()函数的时候,小脑袋瓜里就会去思考,sort()和sorted()的区别,哪个是改变原列表的呢?怒来记录一波sort()函数是list列表中的函数,而sorted()可以对list或者iterator进行排序。区别:1、sort()只能应用在列表list上,而sorted可以对所有可迭代的对象进行排序的操作2、sort方法会在原li...原创 2019-03-25 15:18:57 · 211 阅读 · 0 评论 -
python多线程交替打印abc
还是元气满满的小黄鸭呀!利用python线程的互斥锁可以把资源锁住,然后一个时间只让一个线程执行关于缓冲区问题:使用 print 输出时会先把数据放到缓冲区里,只有当程序结束时或缓冲区遇到 \n 时,才将数据显示到屏幕,并清空缓冲区,而 print 函数默认会有 \n。关于换行和缓冲区问题的详细解释:https://blog.youkuaiyun.com/yilovexing/article/de...原创 2019-03-21 17:48:05 · 5507 阅读 · 2 评论 -
python 协程
作为一只勤奋的小黄鸭,怎么可以不懂协程呢!!!!加油鸭本篇大多转自https://blog.youkuaiyun.com/u014028063/article/details/81408395协程,又称微线程,英文名Coroutine。1、协程的基本概念我们知道线程的调度(线程上下文切换)是由操 作系统决定的,当一个线程启动后,什么时候占用CPU、什么时候让出CPU,程序员都无法干涉。假设现在...原创 2019-03-10 17:57:26 · 251 阅读 · 0 评论 -
selenium 定位不到?Message: unknown error Other element would receive the click
小黄鸭上线哈!!!今天练习了禅道的selenium+unittest出现了问题:Message: unknown error Other element would receive the click分析:首先确保自己的定位是正确的 其次,确定自己的调用方式没有问题 考虑页面的遮盖问题,即页面在下方,或者页面没有全屏,可以尝试一下 关于元素加载问题建议使用显示等待,建议在ba...原创 2019-04-25 18:44:27 · 1004 阅读 · 0 评论 -
python 四则运算匹配
面完华为后满血复活的小黄鸭上线啦!思想:1、定义2个栈,一个压入数据,一个压入运算符2、定义优先级别: priority={'(':1,'+':3,'-':3,'*':5,'/':5}3、如果str[i]是数字,继续查看str[i+1] if str[i].isdigit(): # print('1') ...原创 2019-04-17 19:50:45 · 845 阅读 · 0 评论 -
求解数组中只出现一次的数字 python
题目一:在一个数组中,只有1个数字仅出现1次,其余数字出现2次,求只出现一次的那个数字。关键点:异或运算相同的数字异或的结果是0:2^2=0 和0异或是本身:0^2=2代码:def one_number(alist): '''一个数组中只有1个数字出现1次,其余都出现偶数次''' a=0 for i in alist: a^=i r...原创 2019-05-16 21:30:03 · 2136 阅读 · 0 评论 -
python 找零问题 动态规划
题目描述:现有的钱币:coins=[1,2,5,7,10]找零:change(假定为正整数)求解:如何用最少的钱币进行找零分析:可以使用动态规划比如找零8元,可以将问题进行分解dp[8]=dp[8-coins[j]]+1即:dp[8]=dp[8-1]+1=dp[7]+1dp[8]=dp[8-2]+1=dp[6]+1dp[8]=dp[8-5]+1=dp[3]+...原创 2019-05-14 18:06:11 · 2939 阅读 · 3 评论 -
python 2.0 和python 3.0的区别
区别一:input功能会将用户输入的内容统一以“字符串”来对待python2中的raw_input相当于python3当中的input,python3没有raw_input区别二:Python 2 的 print 被 print() 函数取代了区别三:Python3中/表示真除,%表示取余,//结果取整;Python2中/表示根据除数被除数小数点位得到结果,%表示取余,...原创 2019-04-07 09:48:54 · 2769 阅读 · 0 评论 -
两个链表的第一个公共节点
思路一:两条相交的链表呈Y型。可以从两条链表尾部同时出发,最后一个相同的结点就是链表的第一个相同的结点。可以利用栈来实现。时间复杂度有O(m + n), 空间复杂度为O(m + n)# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# s...原创 2019-05-06 17:44:01 · 150 阅读 · 0 评论 -
链表成对调换
把1-->2-->3-->4变成2-->1-->4-->3我主要写了2个方法:方法一:用递归调用方法二:直接调换注意:返回的是调换后的链表头结点class Solution(object): def swapPairs(self,head): #使用递归调用 if not head or not h...原创 2019-05-06 16:30:49 · 603 阅读 · 0 评论 -
在centos下安装配python3和vscode
centos下默认是2.X的版本查看版本python --version安装python3第一步:安装依赖包yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-deve...原创 2019-05-08 11:11:46 · 539 阅读 · 1 评论 -
python 快速幂算法
计算a的b次方,需要考虑:1、b==0 的话,返回12、b<0的情况,设置一个flag,用于返回数据的时候进行判断3、b>0的情况:打个比方:2^6=2*2*2*2*2*2=(2*2)*(2*2)*(2*2)=(2*2)^3=(2*2)*(2*2)^2=# -*- coding:utf-8 -*-class Solution: def Power(sel...原创 2019-04-24 10:21:04 · 7441 阅读 · 0 评论 -
连续子数组的最大和
方法一:遍历数组,遇到负和则抛弃之前的结果,重新积累,期间保留最大值# -*- coding:utf-8 -*-class Solution: def FindGreatestSumOfSubArray(self, array): # write code here if not array: return m...原创 2019-04-28 12:19:47 · 111 阅读 · 0 评论 -
用递归解决背包问题
问题描述:一个背包里可以放入重量为weight的物品,现有n件物品的集合是S,其中物品的重量分别为w(0),w(1).......w(n-1)。问题是能否从中选出若干个物品,重量之和=weight,如果存在,这一个背包问题有解,不存在则无解考虑一:不选最后一个物品:如果f(weight,n-1)有解,则f(weight,n)有解考虑二:选最后一个物品:如果f(weight-w(n-1)...原创 2019-04-18 09:33:15 · 1917 阅读 · 0 评论 -
python 正则 \b 的用法
\b 匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在) \w位置It's a nice day today.'I' 占一个位置,'t' 占一个位置,所有的单个字符(包括不可见的空白字符)都会占一个位置,这样的位置我给它取个名字叫“显式位置”。注意:字符与字符之间还有一个位置,例如 'I' 和 't' 之间就有一个位置(没有任何东西),这样的位置我给它取个...原创 2019-03-04 09:07:51 · 7887 阅读 · 0 评论 -
python之多线程和多进程
元气满满的学习,我是一致勤奋的小黄鸭,冲鸭!一、基础概念1.1线程什么是线程?线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个 单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。理解线程的工作方...原创 2019-03-08 18:24:36 · 309 阅读 · 3 评论 -
生成器generator
在Python中,这种一边循环一边计算的机制,称为生成器:generator。generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。我们创建了一个generator后,基本上永远不会调用next(),而是通过for循环来迭代它,并且不需要关心StopIteration的错误。generat...转载 2018-03-16 10:27:54 · 233 阅读 · 0 评论 -
斐波拉契数列
注意:t = (b, a + b) # t是一个tuplea = t[0]b = t[1]运行结果:原创 2018-03-16 10:15:31 · 177 阅读 · 0 评论 -
保留列表中的字符,改大写改为小写
关键处:识别,列表里的非函数。可以使用内建函数isinstance()>>> x = 'abc'>>> y = 123>>> isinstance(x, str)True>>> isinstance(y, str)False 附上菜鸟代码:...原创 2018-03-16 09:42:42 · 622 阅读 · 0 评论 -
返回列表中的最大值及最小值
首先定义一个函数,考虑2个特殊的情况:列表为空以及列表中只有一个值然后依次寻找最大值,最小值运行:原创 2018-03-16 08:57:01 · 10477 阅读 · 0 评论 -
判断区域内素数的个数
1素数:素数是指只能被1和其本身整除2定义一个函数,判断其是否是素数,如果是则返回13定义一个区间函数,调用上面定义的函数,把区间内的素数放到列表里,并数出总数4输入区间并调用#这是判断是否是素数#这是列表并求总数#主函数#结果原创 2018-01-20 22:05:36 · 1946 阅读 · 0 评论 -
判断输入的年份是否为闰年
闰年:能被4整除,且不能被100整除,且能被400整除1输入一个年份2创建函数 1)判断能否被100整除 2)如果能,在判断能否被400整除,如果能,则为闰年 3)如果不能被100整除,判断能否被4整除,如果能,则为闰年3把函数返回值传入一个数,为1则为闰年,输出原创 2018-01-20 21:31:24 · 3989 阅读 · 0 评论 -
文件的拷贝
1 输入要拷贝的文件名,假定这个文件名为123.py2打开这个文件3给新的文件一个对应的名字,123[附件].py 通过rfind()函数求出原文件名小数点的位置,分别取出小数点的左边和右边 新的文件名为:左边+“[附件]”+右边4新建一个新的文件5把旧文件的东西通过While循环逐行复制到新的文件6关闭文件原创 2018-01-20 14:32:22 · 270 阅读 · 0 评论 -
用python写乘法表
注意:在python中换行在print()加“,”原创 2018-01-19 21:10:36 · 943 阅读 · 0 评论 -
输出年月日
1、首先用一个序列存放月份表2、因为第几天的英文结尾不一样,再次定义一个序列3、输入年月日4、输出原创 2018-03-09 21:21:36 · 935 阅读 · 0 评论 -
以正确的宽度在居中的”盒子“内打印语句
运行结果:原创 2018-03-10 08:54:00 · 251 阅读 · 0 评论 -
对Python3编码的整理!!!
转自某个勤劳的小蜜蜂出处:https://www.cnblogs.com/575dsj/p/7112767.html什么是编码?基本概念很简单。首先,我们从一段信息即消息说起,消息以人类可以理解、易懂的表示存在。我打算将这种表示称为“明文”(plain text)。对于说英语的人,纸张上打印的或屏幕上显示的英文单词都算作明文。其次,我们需要能将明文表示的消息转成另外某种表示,我们...转载 2019-03-06 15:39:18 · 179 阅读 · 0 评论 -
python排序之选择排序
选择排序思想:每次从待排序的数据元素中选出最小(最大)的一个元素,存放在序列的起始位置。小标索引min(max)代码:def selection_sort(alist): n=len(alist) for i in range(n-1): min_index=i #索引 for j in range(i+1,n): ...原创 2018-11-07 08:52:01 · 290 阅读 · 0 评论 -
在一个字符串列表中替换所有包含‘xxx’的子字符串
直接截图啦!自己写的哦原创 2018-03-12 15:03:32 · 1756 阅读 · 0 评论 -
利用闭包返回一个计数器函数,每次调用它返回递增整数:
补充说明:1):Python 3.x引入了nonlocal关键字,可以用于标识外部作用域的变量。2):返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。...转载 2018-03-17 10:15:09 · 3448 阅读 · 0 评论 -
用sorted()分别对列表的名字和分数进行排序
运行代码:补充说明;sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:>>> sorted([36, 5, -12, 9, -21], key=abs)[5, 9, -12, -21, 36]...原创 2018-03-17 09:00:52 · 2048 阅读 · 0 评论 -
利用filter()筛选出回数:
运行结果:补充介绍filter()函数Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。def is_odd(n): return n % 2 == 1list(filter(is_odd, [...原创 2018-03-17 08:23:02 · 1449 阅读 · 0 评论 -
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
原创 2018-03-16 20:21:31 · 1527 阅读 · 0 评论