- 博客(13)
- 收藏
- 关注
原创 Python如何写出健壮的代码
所谓健壮性,就是程序代码能够在一些意料之外的参数输入时,还能正常运行。直白点就是代码无BUG在Python这门编程语言中有一套代码风格规范(PEP8),在我们实际工作中,可以不完全遵守这个规范,但是代码一定要更具健壮性。以下列举工作中遇到的代码编写存在BUG的地方场景一:字典取值问题dict_test =通常我们都是这种取值方式,前提是key存在,但是当key不存在时,程序就会报错终止改进方案:使用get()方式,当key不存在时,得到None值场景二:判断对象是否存在接收.
2022-04-04 23:00:40 1436
原创 Python字典推导式
字典推导式和列表推导式有点类似如 给定一个列表,里面的元素都是长度=2的元组,用推导式的方法生成字典#字典推导式arry = [('a',3),('b',4),('c',5)] dict_ = {key:value for (key,value) in arry}print(dict)#结果{'a': 3, 'b': 4, 'c': 5}拓展:将字符串以|拆分,并生成字典#将字符串以竖线拆分,变成字典k:1的形式str1 = 'k:1|k1:2|k2:3|k3:4'd
2022-04-02 22:34:00 3160
原创 Python拆分连续的字符串
拆分字符串,可以用split()函数,括号里面填入某种符号对字符串进行拆分,如:str_="hello world"#按空格拆分print(str_.split(' '))#结果['hello', 'world']
2022-04-02 12:54:05 2784
原创 写一个斐波那契数列的迭代器
Python中没有“迭代器”这个类,因此具有以下两个特性的类都可以称为“迭代器”类:1、有__next__()方法,返回容器的下一个元素或抛出StopIteration异常2、有__iter__()方法,返回迭代器本身斐波那契数列迭代器代码:class Fib: """迭代器""" def __init__(self, num): self....
2018-09-11 17:33:43 1084
原创 Python冒泡排序算法及其优化
冒泡排序所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比较,而上一趟已经排好的那个元素就不用进行比较了。(图中排好序的元素标记为黄色柱子)冒泡排序动图演示上python代码:def bubble_sort(items): for i in range(len(items) - 1): ...
2018-09-04 14:19:38 14881 3
原创 A、B、C、D、E、五个人捕鱼(穷举法)
有五个人A,B,C,D,E一起去捕鱼,一天下来收获颇丰。然后晚上大家都住在海边帐篷里,第二天早上,A先起来,他将鱼按数量平均分成了5份,发现刚好多了1条,他将多的一条丢掉,并从5份中拿了一份,剩下的4份又混合一起,不让其它人发现。接着B起来了,他也将鱼分成5份,发现刚好也多了一条,将多余的一条丢到后,他拿走了5份中的一份,并将剩下的4份混合一起,不让其他人发现。接着C,接着D,E,都是这种情...
2018-09-01 12:36:13 7378 1
原创 100块钱买100只鸡的故事
公鸡5元一只,母鸡3元一只,小鸡一元3只,要求将100元刚好花光,并且刚好买100只鸡。求:有哪几种买法,就是列出公鸡,母鸡,小鸡,各种数量的组合。假设全都买公鸡,那么公鸡的数量范围:0~20全部买母鸡,母鸡的数量范围:0~33小鸡的数量范围:100 - 公鸡 - 母鸡上代码:for x in range(20): for y in range(33): ...
2018-09-01 12:14:18 9462 1
原创 用Python判断一个数是否为回文数(或者回文字符串)
所谓回文数。就是正着读和反着读,都是一样的。例如:数字:121、1331、22、都是回文数。1234 不是回文数。自然数中最小的回文数是0,再就是1,2,3,4,5,6,7,8,9,11........字符串:"ABA"、"aa"、"AABBAA"、都是回文字符串。"abcd" 不是回文字符串。用Python代码来判断是否回文:def is_palindr...
2018-09-01 11:58:28 17104 1
原创 汉诺塔Python递归
汉诺塔 问题是源于印度一个古老传说。在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石柱子。印度教的主神梵天在创造世界的时候,在其中一根柱子从下到上穿好了由大到小的64片金圆盘,不论白天黑夜,总有一个僧侣在移动这些金盘。规则:将一根柱子上的所有圆盘都移动到另一个柱子上,并且还是按照顺序堆放,底部最大,顶部最小,且每次只能移动一个,大圆盘不能压在小圆盘上面!...
2018-09-01 01:59:14 11640 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人