- 博客(7)
- 收藏
- 关注
原创 检查函数传入参数的合法性
python是一门动态语言,因此在调用函数的时候,可以传入任何类型的数据,而他又是一门强类型语言,当传入的参数不合法时,便会在内部报错。 为了减少这一错误的发生,python从3.5开始引入了函数注解,如下所示: def fn(x:int, y:int): pass 配合inspect模块,可以有效的检查传入函数是否合法 ...
2018-11-13 20:51:31
2412
原创 简单选择排序的几个优化点
简单选择排序的几个优化点 import random l = [random.randint(1,100) for _ in range(20)] print(l) for i in range(len(l)//2): minindex = i maxindex = -i-1 for j in range(i+1, len(l)-i): if l[j] < l[minindex]:...
2018-11-13 11:27:23
304
原创 使用*复制列表元素时内存地址的引用
当一个列表的元素为嵌套列表或者其他可嵌套数列时,使用*来复制列表元素,他的每个元素的内存地址都是指向同一块区域,当其中一个元素中的元素发生改变时,别的元素也同样会发生改变,比如 a = [[1,2,3]] * 3 print(a) a[1][1] = 'x' print(a) 第一次打印出a列表为[[1,2,3],[1,2,3],[1,2,3]] 第二次打印出a列表为[[1, ‘x’, 3], ...
2018-10-19 17:22:34
431
原创 几种方法求10万以内素数算法的用时小测试
1、使用while循环,不对算法做任何优化 import datetime start = datetime.datetime.now() a = 2 while a < 100000: i = 2 while i < a: if a % i == 0: break i += 1 #else: ...
2018-10-19 09:56:13
662
原创 利用对称性打印菱形
利用对称性打印菱形,如果为偶数行的话,第一和最后一行就会全是空格 n = int(input('>>>')) avg = n // 2 for i in range(-avg,avg+1): x = abs(i) print(' ' * x + '*' * (n-x-x) + ' ' * x) ...
2018-10-17 17:35:50
434
原创 判断质数的两种方法
用python判断质数 n = int(input('&gt;&gt;&gt;')) a = 2 while a &lt; n: if n % a == 0: break a += 1 else: if n &gt;= 2: print(n,'yes') n = int(input('&gt;&gt;&
2018-10-17 17:01:37
462
原创 两种方法实现九九乘法表
两种方法实现九九乘法表 n = 1 while n &amp;lt;= 9: for i in range(1,n+1): print(i,'*',n,'=',i*n,end=' ') print('\n') n += 1 for n in range(1,10): for i in range(1,10): if i &amp;lt;= n: ...
2018-10-17 16:58:08
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅