冒泡排序
算法描述
冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。
算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大的数据元素放到队尾。
代码实现
- 比较相邻的元素,如果第一个比第二个大(升序),就交换他们两个;
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对;
- 针对所有的元素重复以上的步骤,除了最后已经选出的元素;
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
1 | # _*_ coding:utf-8 _*_ |
最终结果为:
1 | 新列表为:[-57, 1, 7, 8, 10, 12, 23, 34, 56, 56, 100, 234, 254, 456] |
插入排序
算法描述
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
代码实现
1 | # _*_ coding:utf-8 _*_ |
最终结果为:
1 | 新列表为:[-57, 1, 7, 8, 10, 12, 23, 34, 56, 56, 100, 234, 254, 456] |
计算x的n次方
1 | def power(x, n): |
计算axa+bxb+cxc+..
1 | def clac(*numbers): |
计算阶乘n!
1 | # 方法一 |
列出当前目录下的所有文件和目录名
1 | def show_all_dir(): |
2中写法,其中一种写法注释了。
把一个list中所有的字符串变成小写
1 | def word_lower(list): |
输出某个路径下的所有文件和文件夹的路径
1 | def get_dir(): |
输出某个路径及其子目录下的所有文件路径
1 | def show_dir(): |
输出某个路径及其子目录下所有以.html为后缀的文件
1 | def show_dir_html(filepath): |
把原字典的键值对颠倒并生产新的字典
1 | def get_dict(): |
打印99乘法表
1 | def chengfa(): |
替换列表中所有的3位3a
1 | def tihuan(list): |
摇骰子小游戏
1 | def random_num(): |
随机验证码
1 | def yanzhengmasuiji(): |
计算平方根
1 | def num_genhao(): |
判断字符串是否只由数字组成
1 | def is_numbers(s): |
判断奇偶
1 | def jiou(): |
判断闰年
1 | # 方法一 |
获取最大值
1 | def whos_number_is_big(): |
斐波那契数列
斐波那契数列指的是这样一个数列:0,1,1,2,3,5,8,13;第1项为0,第2项为1,从第3项开始,每一项都等于前两项之和。
1 | def feibonaqi(): |
十进制转二进制,八进制,十六进制
1 | def shijinzhi(): |
求两个数的最大公约数
1 | def hcf(x,y): |
求两个数的最小公倍数
1 | def lcm(x,y): |
简单计算器
1 | def add(x, y): |
生成日历
1 | import calendar |
文件IO
1 | def file_io(): |
字符串判断
1 | def str_test(): |
字符串大小写转换
1 | def trans_str(): |
计算每个月天数
1 | def get_month_days(): |
获取昨天的日期
1 | def get_last_day(): |
1 | dic = {"k1":"vlvl","k2":[11,22,33,44,55]} |