python
文章平均质量分 83
OliverkingLi
耶耶
展开
-
Python实现二叉搜索树
class TreeNode: def __init__(self, key, val, left=None, right=None, parent=None): self.key = key self.payload = val self.leftChild = left self.rightChild = right self.parent = parent def ...原创 2018-07-05 17:47:38 · 957 阅读 · 0 评论 -
Program Test thought
今天看到一章讲关于软件测试理念的思想,这里mark一下,自己以前也没意识到这种事情,慢慢锻炼自己大项目中的这种项目开发测试思维。最重要的思想是先编写测试单元代码,然后在实现相关的模块功能。其中的单元测试代码一定程度上就是客户的需求,然后在实现模块功能进行测试。例如一个简单的demo,这里实现一个求和的模块功能。我们先编写单元测试代码:# test-cell.pyfrom area import ...原创 2018-06-21 18:07:53 · 384 阅读 · 0 评论 -
浅谈SVD原理以及python实现小demo
在线性代数中我们都知道对于一个mxn的矩阵A,假设其中的特征值为k,其对应的特征向量为a。那么有: 上面的a为特征向量,k为对应的特征值。假设由|E-kA| = 0我们一共解的有i个特征值分别为: 对应的特征向量分别为: 对A进行特征值分解可以得到: 这里A是作为方阵的求法。更一般的我们吧这种由特征值分解求A的做法推广到原创 2018-02-02 16:25:00 · 1372 阅读 · 0 评论 -
Python实现图像卷积操作
图像或者深度学习的卷积操作原理待更新..........先贴出实验code和效果:#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Fri Feb 2 21:07:12 2018@author: lisir"""import numpy as npimport osfrom PIL import Im原创 2018-02-02 22:30:38 · 15130 阅读 · 8 评论 -
python模拟离散傅里叶变换
code:import numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt# 产生三角波的函数def triangle(size, T): # 生成-1到1之间的size个时间点 t = np.linspace(-1, 1, size, endpoint=False) # 这里使用y=|x|函数生原创 2018-02-02 21:01:29 · 2724 阅读 · 0 评论 -
python模拟多次采样通过低概率事件多次重复实验趋近必然事件
只接代码演示好了:import operator import numpy as np import matplotlib.pyplot as plt from functools import reduce def cal(n, k): # 返回排列组合的:从总体中选取若干的个体排列组合总数 return reduce(operator.mul,原创 2018-02-02 17:08:50 · 1446 阅读 · 0 评论 -
Python绘制常见图形
#!/usr/bin/python# -*- coding:utf-8 -*-import numpy as npimport matplotlib as mplfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmimport timefrom scipy.optimize import leastsq原创 2018-02-02 11:56:10 · 1698 阅读 · 0 评论 -
leetcode--str
import collectionsclass Solution: def str2Str(self, source, target): if source is None or target is None: return False for i in range(len(source)-len(target) + 1): for j in range(len(targ原创 2018-01-18 11:33:06 · 268 阅读 · 0 评论 -
Python实现中缀表达式向后缀表达式
from pythonds.basic.stack import Stackdef infixToPostfix(infixexpr): # prec字典存储着运算符的优先级 prec = {} prec["*"] = 3 prec["/"] = 3 prec["+"] = 2 prec["-"] = 2 prec["("] = 1 # 定义空栈存储运算符出栈和进栈操作结果 ...原创 2018-06-29 13:44:16 · 1349 阅读 · 0 评论 -
Python实现回文数的检索
from pythonds.basic.deque import Deque# 回文字符串的检测def palchecker(aString): chardeque = Deque() # 字符串字符依次进入队列 for ch in aString: chardeque.addRear(ch) flag = True # 双端队列两头都可以出队,然后头尾出队元素相互比较 wh...原创 2018-07-02 08:40:20 · 730 阅读 · 0 评论 -
Python实现小根堆操作
# from pythonds.trees.binheap import BinHeapclass BinHeap: def __init__(self): self.heapList = [0] self.currentSize = 0 def percUp(self, i): while i // 2 > 0 : if self.heapList[i] <...原创 2018-07-05 15:49:48 · 2073 阅读 · 0 评论 -
Python实现十进制向2,8,16等进制转换算法
from pythonds.basic.stack import Stackdef divideBy2(decNumber, base): digits = "0123456789ABCDEF" remstack = Stack() while decNumber > 0: rem = decNumber % base remstack.push(rem) decNu...原创 2018-06-28 17:40:19 · 2406 阅读 · 0 评论 -
Python实现括弧匹配算法
from pythonds.basic.stack import Stack# 算法一实现括弧匹配,利用栈来实现def parCheck(symbolString): s = Stack() balanced = True index = 0 while index < len(symbolString) and balanced: symbol = symbolStrin...原创 2018-06-28 16:47:57 · 475 阅读 · 0 评论 -
Python使用进行字符相匹配的算法
import timeitimport matplotlib.pyplot as plt# 第一种算法时间复杂度达到O(n^2)def anagramSolution1(s1, s2): ''' 查找两个字符串是否是相互乱序, 也就是两个字符串的字符排序不一样 ''' alist = list(s2) pos1 = 0 stillOK = True while pos1 &...原创 2018-06-28 16:43:00 · 469 阅读 · 0 评论 -
Python实现经典的排序算法
1.冒泡排序def bubbleSort(alist): for p in range(len(alist)-1, 0, -1): for i in range(p): if alist[i] > alist[i+1]: temp = alist[i+1] alist[i+1] = alist[i] alist[i] = tempdef shortBu...原创 2018-07-04 09:13:55 · 186 阅读 · 0 评论 -
seam carving算法
这两天看到一个很好玩的图像裁剪算法,是十年前的提出的一个很经典的算法。原来的图像裁剪算法大多会使得图像失真,而这个算法提出一种基于能量的原理来相适应的去裁剪。简单来说就是给每个像素值赋予一个能量值,然后根据这个像素值得8连通域进行动态规划求取最小值,然后逐行或逐列地应用这一算法会获得一条能量线,其实就是相邻两行(列)的最小像素值的像素所在连线,然后将其从原始图像删除,具体删除多少条这样的能...原创 2018-07-09 15:03:24 · 6078 阅读 · 9 评论 -
Python实现Map数据结构
class HashTable: def __init__(self): # 初始化两个list,一个用来保存键值,一个用来保存值 self.size = 11 self.slots = [None] * self.size self.data = [None] * self.size # 定义Hash函数,使用余数法 def hashFunction(self, key, ...原创 2018-07-02 14:49:38 · 4697 阅读 · 0 评论 -
Python实现二分查找
class Sort: def __init__(self): pass def order_sort(self, lst, elem): pos = 0 flag = False while pos < len(lst) and not flag: if elem == lst[pos]: flag = True return flag, po...原创 2018-07-02 14:43:33 · 307 阅读 · 0 评论 -
python模拟概率论中偏度和峰度计算
在概率学中我们用偏度和峰度去刻画分布的情况: 偏度描述的是分布的对称性程度,如上面,右偏表示在u值的右侧分布占多数,左偏则反向,并且通过阴影的面积去刻画概率。而峰度是描述分布的最高值的情况,在常用情况下,减去3的原因在于正态分布的超值峰度恰好为3。下面使用python代入公式计算和调用函数库计算进行比较:#!/usr/bin/python#coding:utf8原创 2018-01-25 19:38:05 · 5435 阅读 · 1 评论 -
python模拟概率论的相关系数
在概率论中把相关系数定义为: 其中: 这里的cov(x,y)叫做协方差系数,E(x)为均值,Var(x)为方差。相关系数定义的是两个随机变量的相关程度,其范围[-1, 1]。大于0为正相关,小于0为负相关。这里可以证明cov(x, y)上界为:下面使用Python大致模拟一下,使用scipy包中stats统计函数求pears原创 2018-01-25 17:27:54 · 1303 阅读 · 0 评论 -
python暴力实现本福特定律的例子
概率论给予了我们现实生活直观感觉完全不一样的解释,现实生活中的本福特定律就是一个很好的例子: 就像我们对考第一名印象很深刻,但是之后的第二第三就不怎么去留意;奥运冠军也是一样,所有人都会记得冠军是谁,但是亚军和季军就很少有人想的起来. 这里用python求出阶乘的数值中末尾或者首位出现0-9这10个数字的频率统计,其实(频数/总数)也可近似就是概率:# -原创 2018-01-24 22:24:05 · 7167 阅读 · 0 评论 -
python和Django完成博客数据库的迁移
上一讲完成了基本博客的配置和项目工程的生成。这次开始将博客一些基本的操作主要是数据库方面学习。1.设计博客数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库。我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,Django 就去数据库里把这些数据取出来展现给用户。 博客的文章应该含有标题、原创 2017-09-22 15:34:04 · 1642 阅读 · 0 评论 -
python爬虫实现网络股票信息爬取的demo
import requestsfrom bs4 import BeautifulSoupimport tracebackimport re def getHTMLText(url): try: r = requests.get(url) r.raise_for_status() r.encoding = r.apparent_enc原创 2017-09-20 10:44:15 · 1975 阅读 · 0 评论 -
python爬虫实现简单爬取淘宝商品demo
import requests as reqimport redef getHTMLText(url): try: r = req.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text ex原创 2017-09-20 10:28:55 · 2603 阅读 · 1 评论 -
python爬虫之BeautifulSoup小demo
import requests as reqfrom bs4 import BeautifulSoupif __name__ == "__main__": url = "https://www.baidu.com/" r = req.get(url) r.encoding = r.apparent_encoding demo = r.text sou原创 2017-08-31 21:33:22 · 649 阅读 · 0 评论 -
Beautiful编写简单爬虫实验
from urllib.request import urlopenfrom urllib.error import HTTPErrorfrom bs4 import BeautifulSoupdef getTitle(url): try: html = urlopen(url) except HTTPError as e: return N原创 2017-06-06 21:48:43 · 490 阅读 · 0 评论 -
python3_字典
# -*- coding: utf-8 -*-class ShowDict(object): '''该类用于展示字典的使用方法 ''' def __init__(self): self.spiderMan = self.createDict() self.insertDict(self.spiderMan) self.modi原创 2017-05-29 17:29:32 · 363 阅读 · 0 评论 -
python3_元组
#!/usr/bin/env python#-*- coding: utf-8 -*-__author__ = 'hstking hstking@hotmail.com'class ShowTuple(object): def __init__(self): self.T1 = () self.createTuple() self.subTuple(self.T1) se原创 2017-05-26 22:30:46 · 600 阅读 · 2 评论 -
python3_列表
# -*- coding: utf-8 -*-class ShowList(object): def __init__(self): self.L1 = [] self.L2 = [] self.createList() self.insertData() self.appendData()原创 2017-05-26 22:27:56 · 415 阅读 · 0 评论 -
python和Django创建博客首页视图
通过前面的铺垫工作,我们就要开始看到成效了............ 1.Django 处理 HTTP 请求 Web 应用的交互过程其实就是 HTTP 请求与响应的过程。无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的:我们打开浏览器,在地址栏输入想访问的网址,比如 http://zmrenwu.com/(当然你也可能从收藏夹原创 2017-09-22 15:56:05 · 512 阅读 · 0 评论 -
python多线程
python3中支持多线程的目前有threading和Queue模块,之前的thread模块已经从最新的python3中移除,找不到。相比于以前的thread模块,threading模块更安全拥有更多的同步机制,可以提供更多的方法。 threading模块中支持守护线程,守护线程是一个等待客户端请求服务的服务器,如果没有客户端的请求,守护线程就是空闲的。若把一个守护线程设置为守护线原创 2018-01-11 18:06:08 · 437 阅读 · 0 评论 -
python画出e指数函数的图像
这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近:exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ...#!/usr/bin/python# -*- coding:utf-8 -*-import numpy as npimport mathimport matplotlib as mplimport mat原创 2018-01-24 21:54:44 · 20058 阅读 · 1 评论 -
python正则表达式扩展符号扩展和一些训练小mark
关于正则式的简要介绍:http://blog.csdn.net/oliverkingli/article/details/789895051.扩展符号2.一些正则式训练# -*- coding: utf-8 -*-"""Created on Sat Jan 6 19:20:43 2018@author: lisir"""'''windows环境下原创 2018-01-06 19:40:14 · 1498 阅读 · 0 评论 -
python正则表达式小mark
1.关于match和search函数的使用:在pytho中的re包中,match 和 search 都可以搜索字符串进行模板匹配。match()从字符串的起始位置开始匹配,如果成功匹配,将返回匹配的对象;否则返回None;然后使用对象的group()方法可以显示那个成功的匹配。如下:而search()方法工作方法不同于match()在于,search()将会是在字符串任意的原创 2018-01-06 18:34:07 · 518 阅读 · 0 评论 -
使用python3和pygame包小练游戏玩耍 --绚丽的颜色
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Wed Jan 3 21:02:38 2018@author: lisir"""# import pygamefrom sys import exitbackground_image_filename = "./tmp/meixi1.jpg"pygam原创 2018-01-03 23:12:13 · 732 阅读 · 0 评论 -
使用python3和pygame包小练游戏玩耍 --文字显示
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Wed Jan 3 21:02:38 2018@author: lisir"""# import pygamefrom sys import exitbackground_image_filename = "./tmp/meixi1.jpg"pygam原创 2018-01-03 22:53:39 · 761 阅读 · 0 评论 -
使用python3和pygame包小练游戏玩耍 --屏幕显示
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Wed Jan 3 21:02:38 2018@author: lisir"""# import pygamefrom sys import exitbackground_image_filename = "./tmp/meixi1.jpg"pygam原创 2018-01-03 22:04:53 · 971 阅读 · 0 评论 -
使用python3和pygame包小练游戏玩耍 --事件类
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Wed Jan 3 21:02:38 2018@author: lisir"""# import pygamefrom sys import exit pygame.init()SCREEN_SIZE = (640, 480)screen = pyga原创 2018-01-03 21:48:51 · 1061 阅读 · 0 评论 -
使用python3和pygame包小练游戏玩耍
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Wed Jan 3 21:02:38 2018@author: lisir"""# import pygamefrom sys import exit# 指定图像文件名称background_image_filename = "./tmp/sushipla原创 2018-01-03 21:33:29 · 755 阅读 · 0 评论 -
python3_字符串
def strCase(): print("字符串大小写转换") print("演示字符串大小写转换") print("演示字符串S赋值为:' ThIs is a PYTHON '") S = ' ThIs is a PYTHON ' print("大写转换成小写:\tS.lower() \t= %s" % (S.lower())) prin原创 2017-05-26 21:44:11 · 418 阅读 · 0 评论