python学习笔记
边缘ob边缘ob
这个作者很懒,什么都没留下…
展开
-
python --实现斐波那契数列
斐波那契数列 Fibonacci number 1, 1, 2, 3, 5, 8, 13, 21, 34, 5 ... ... 如果F(n) 为 该数列的第 n 项,那么有如下形式: F(n)=F(n-1)+F(n-2)使用循环的方式实现: def fab(n): pre = 1 cur = 1 print(pre,cur,end=" ") # l...原创 2018-05-25 10:30:09 · 306 阅读 · 0 评论 -
python实现 -十进制转二进制
# 二进制的转换def Dec2Bin(dec): result = '' if dec: result = Dec2Bin(dec // 2) return result + str(dec % 2) else: return result print(Dec2Bin(123456))原创 2018-06-05 10:30:46 · 23217 阅读 · 0 评论 -
带颜色的字体输出控制
带颜色的字体输出控制 有时候我们需要对有用的信息设置不同颜色来达到强调、突出、美观的效果,在linux终端中,颜色是用转义序列控制的,转义序列是以ESC开头,在代码中用\033表示(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33,\0表示八进制)。这个其实跟python无关,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控...原创 2018-05-23 15:19:52 · 311 阅读 · 0 评论 -
python 排序算法 --选择排序
选择排序 两两比较大小,找出极值,将极值放置在固定的位置 升序排列的实现: ----> 优化点:可以使用二元选择排序法,一次性找出极大值和极小值;减少迭代元素的次数 lst = [10, 11, 14, 16, 14, 13, 3, 19, 12, 20]n = len(lst)for i in range(n): minindex = i ...原创 2018-05-22 23:06:05 · 201 阅读 · 0 评论 -
python 排序算法 -- 冒泡排序
# 冒泡排序的算法编码 --升序排列 lst = [10, 11, 14, 16, 18, 13, 3, 19, 12, 20]# lst = [3, 10, 11, 12, 13, 14, 16, 18, 19, 20]copy_lst = lst.copy()length = len(copy_lst)for i in range(length): Flag ...原创 2018-05-22 22:06:36 · 124 阅读 · 0 评论 -
Python实现--杨辉三角
杨辉三角 前三种,主要考虑时间复杂度; 使用append方法往列表中追加元素,属于多次开辟内存空间第四种,主要考虑空间复杂度, 一次性开辟内存空间# top.1 从第3行开始实现triangle = [[1],[1,1]]n = 7 # 定义循环次数for i in range(2,n): pre = triangle[i-1] # 获取前一行值 浅拷贝 cur = ...原创 2018-05-22 15:57:39 · 1029 阅读 · 0 评论 -
Python 排序算法 -- 插入排序
直接插入排序 -- Direct insertion sort直接插入排序原理: 在未排序序列中,构建一个子排序序列,直到全部数据排序完成 将待排序的数,插入到已经排序的序列中合适的位置 增加一个哨兵,放入待比较值,让它和后面已经排好序的序列比较,找到合适的插入点最好情况,正好是升序排列,比较迭代 n-1 次最差情况,正好使降序排列,比较迭代1, 2 ... ...n-1即 n(...原创 2018-05-22 14:50:58 · 153 阅读 · 0 评论 -
Python 实现数字的打印
编写一个函数,接收一个参数 n ,n 为正整数,左右两种打印方式,要求数字必须对齐! 实现效果如下如图:第一种: 第二种 : 第一种打印实现: 优化点: 切片操作,实际上是内存拷贝的过程,空间复杂度会上升!def NumberPrint(num): tail = " ".join([str(i) for i in range(...原创 2018-05-22 11:03:36 · 7700 阅读 · 0 评论 -
Python不使用int()函数把字符串转换为数字
方法一:利用str函数既然不能用int函数,那我们就反其道而行,用str函数找出每一位字符表示的数字大写。def atoi(s): s = s[::-1] num = 0 for i, v in enumerate(s): for j in range(0, 10): if v == str(j): num += j * (1...转载 2018-05-21 14:18:45 · 3251 阅读 · 0 评论 -
python 实现 sort排序
# sort 默认升序排列def sort(iterable, key=None, reverse=False): ret = [] if key is None: # 判断key是否传入排序方式, 如果没有,默认采用升序排列 key = lambda a,b:a>b for x in iterable: for k, val...原创 2018-06-05 14:26:35 · 881 阅读 · 0 评论