自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CC

记录python学习的点点滴滴

  • 博客(22)
  • 收藏
  • 关注

原创 Django初始化创建项目及应用

1、进入项目所在的虚拟环境bj18 workon bj18 2、创建项目test3 django-admin startproject test 3、进入项目所在目录 cd test 4、创建应用booktest python manage.py startapp booktest 5、Pycharm导入目录test3 6、找到项目文件,test3/settings.py,注册项目应用 INSTALLED_APPS中末尾添加'booktest', 7、在项目根目录中创建一个模板文件.

2020-06-13 13:14:43 321 1

原创 Django之查询相关的函数

get:返回一条且只能有一条数据,返回值是一个对象,参数可以写查询条件。 all:返回模型类对应表的所有数据,返回值是一个查询集(QuerySet)。 filter:返回满足条件的数据,参数中可以写查询条件。返回值也是QuerySet实例对象 exclude:返回不满足条件的数据,和filter相反 order_by:对查询的结果进行排序,返回值是QuerySet,参数中写排序的字段 可以写多个字段,默认升序,如果降序,在字段前面加“-” F对象:用于类属性之间的比较。 Q对象:用于条件之间的逻

2020-06-12 12:26:08 368

原创 最大公约数的几种高效方法(欧几里得,辗转相除法,更相减损法,最优解法)

辗转相除法 又名欧几里得算法(Euclidean algorithm) 该算法的目的是求出两个 正整数的最大公约数。它是已知最古老的算法, 其产生时间可追溯至公元前300年前。 这条算法基于一个定理:两个正整数a和b(a>b),它们的最大公约数等于a除以b 的余数c和b之间的最大公约数。 例如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约 数 更相减损术 更相减损术,出自中国古代的《九章算术》,也是一种求最大公约数的算法。 古希腊 人很聪明,可是我们炎黄子

2020-06-09 17:11:24 2441 4

原创 Django初始化创建项目

1、进入虚拟环境 workon bj18_py 2、创建文件夹 mkdir bj18 3、进入文件夹 cd bj18 4、创建Django项目 django-admin startproject test1 5、在项目里开发某一个功能需要创建应用 python manage.py startapp booktest 6、对应用进行注册 setting.py中INSTALLED.APPS修改 添加一行:‘booktest’ 7、运行web项目 python manage.py runserver ...

2020-06-09 11:28:04 214

原创 Django之MVT

M:model,模型,和MVC中M功能相同,和数据库进行交互 V:view,视图,和MVC中C功能相同,接受请求,进行处理,和M和T进行交互,返回应答 T:Template模板,和MVC中V功能相同,产生HTML页面 工作原理 ...

2020-06-08 08:31:30 211

原创 Django之MVC框架

M:Model ,模型,和数据库进行交互 V:View,视图,产生HTML页面 C: Controller ,控制器,接受请求,进行处理,与M和V进行交互,返回应答。 工作机制详见下图:

2020-06-06 08:57:48 369

原创 队列(Python)

class Queue(object): """队列""" def __init__(self): self.__list = [] def enqueue(self,item): """往队列中添加元素""" self.__list.append(item) def dequeue(self): """队列头部删除一个元素""" return self.__list.pop(0)

2020-05-27 19:39:51 280

原创 栈(Python)

#coding:utf-8 class Stack(object): """栈""" def __init__(self): self.__list = [] def push(self,item): """添加元素item到栈顶""" self.__list.append(item) def pop(self): "弹出栈顶元素" return self.__list.pop() d

2020-05-27 19:20:02 212

原创 二叉树添加元素与遍历(Python版)

class Node(object): def __init__(self,item): self.item = item self.lchild = None self.rchild = None class Tree(object): def __init__(self): self.root = None def add(self,item): node = Node(item)

2020-05-27 18:27:54 968 1

原创 二分查找(递归与非递归两种方法)(Python版)

二分查找,序列必须为有序表,本代码默认为序列为递增 二分查找又叫折半查找,其基本思想是:将列表中间位置的元素与目标元素比较,如果两者相等,则查找成功;否则将列表从中间位置分开,分成前、后两个子列表,如果中间位置的元素大于目标元素,则进一步查找前一子列表,否则进一步查找后一子列表。重复以上过程,直到找到满足条件的元素,使查找成功;或子表为空,此时制定元素不在列表内部。 代码如下: def binary_search_1(alist,item): """二分查找,递归,递增""" n..

2020-05-27 15:13:18 587

原创 合并两个排序的链表(剑指offer)Python版

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 # -*- coding:utf-8 -*- class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code h

2020-05-26 19:06:16 189

原创 归并排序(Python实现)

归并排序 归并排序是采用分治法的一个非常典型的应用,归并排序的思想就是先递归分解数组,再合并数组 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先娶谁,取了之后相应相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 def merge_sort(alist): """归并排序""" n = len(alist) if n <= 1: return alist mid = n

2020-05-26 14:19:44 221

原创 快速排序(Python实现)

快速排序 快速排序(Quicksort) 又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 步骤: 1、从数列中挑出一个元素,称为“基准”。 2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任意一边)。在这个分区结束之后,该基

2020-05-26 13:43:53 284

原创 希尔排序(Python实现)

希尔排序 希尔排序(shell sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高级的改进版本。 希尔排序是非稳定排序算法。该方法因DL.shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐步减少,每组包含的竿见次越来愈多,当增量减至1时,整个文件恰被分成一组,算法便终止。 基本思想:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列来进行。最后整个表中只有一列了。 代码如下: def shell_

2020-05-26 12:01:42 255

原创 插入排序(Python实现)

插入排序 插入排序(insertion sort)是一种简单直观的排序算法。 工作原理 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序在实现上,在从后向前扫描的过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 def insert_sort(alist): n = len(alist) for i in range(1,n): while i > 0: if alist[i] &l

2020-05-26 11:46:07 437

原创 选择排序(Python实现)

选择排序 选择排序(selection sort)是一种简单直观的排序算法。 工作原理如下 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,知道所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。 选择排序每次交换一对元素,他们当中至少有一个将被移动到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方

2020-05-26 10:44:19 501

原创 冒泡排序(Python实现)

冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复的遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复的进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的命名由来是因为越小(大)的元素会经由交换慢慢“浮”到数列的顶端。 代码如下: def BubbleSort(alist): n = len(alist) for i in range(1,n): #从队列的第i个元素开始向前面的所有元素对比

2020-05-26 09:54:00 274

原创 Python写一个双向链表

class Node(object): def __init__(self,elem): self.elem = elem self.next = None self.prev = None class DoubleLinkList(object): """双向链表""" def __init__(self, node = None): #node = None为默认参数 self.__head = n

2020-05-25 19:14:10 153

原创 Python写一个单向循环列表

class Node(object): def __init__(self,elem): self.elem = elem self.next = None class SingleCycleList(object): def __init__(self, node = None): #node = None为默认参数 self.__head = node if node: node.n

2020-05-25 18:02:07 319

原创 Python写一个单链表

class Node(object): def __init__(self,elem): self.elem = elem self.next = None class SingleLinkList(object): def __init__(self, node = None): #node = None为默认参数 self.__head = node def is_empty(self): ret

2020-05-25 18:00:48 251 2

原创 机试题--商城免单数

华为商城,每一秒第一个购买的人可以免单,同时刻的人都可以免单。 输入N组数据(各种年月不同时刻的),问怎么算免单人数 订单信息诸如: 2020-05-11 16:47:22.001 2020-05-11 16:47:52.002 2020-05-11 16:48:07.003 输出:3 import sys #列表存储订单中不同的秒数 list_seconds = [] list = [] result = {} count = 0 #如果是系统输入,用注释的这段 # for line in sys.

2020-05-11 17:50:33 664

原创 纪念一个机试题

一个机试题,当时没做出来,现在做出来了纪念下。 题目大致如下: 将输入的字母例如:a11c3b3bcd4解压后排序 排序规则:字母后的数量升序排列,如果数量相同,字母按ASCII码升序排列 example:输入:“a11c3b3bcd4” result:输出:bbbcccbcdbcdbcdbcdaaaaaaaaaaa import re ss = input() #需要将输入的字符串字母段和数字分开,分别存在列表中 list_alpha = [] list_digit = [] result = []

2020-05-11 16:42:18 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除