赞
踩
第一个是判断素数,先上代码吧:
1 from math importsqrt2 defis_prime(i):3 if i == 2:4 returnTrue5 elif i<2:6 returnFalse7 elif i%2 ==0:8 returnFalse9 else:10 for n in range(3,int(sqrt(i)+1),2):11 if i%n ==0:12 returnFalse13 return True
这里用到了math包的sqrt,为了尽可能提高效率,少循环几次,这里有个range函数,有三个参数,分别是起点,终点,间隔,间隔是可选的,像range(0,12,3就是[0,3,6,9]。
第二个是冒泡排序,还是上代码:
import random
list = range(0,10)
for i in list:
print (i)
random.shuffle(list)
for i in list:
print (i)
for d in range(len(list)-1,0,-1):
for e in range(0,d,1):
if list[e] > list[e+1]:
list[e],list[e+1] = list[e+1],list[e]
for i in list:
print (i)
这个很有意思了,包含了一个random包,因为我想把有序的数组打乱,用了这个random.shuffle函数,冒泡排序没什么好说的,唯一需要注意的是这句
list[e],list[e+1] = list[e+1],list[e],是不是很爽,都不用第三方变量,不过好像编译的时候还是会产生第三方变量。这里再给自己留一个问题,自己实现random.shuffle()。
昨天问题的代码:
def volid(pwd):
a = any(map(str.isupper,pwd))
b = any(map(str.islower,pwd))
c = any(map(str.isdigit,pwd))
d = not all(map(str.isalnum,pwd))
if sum([a,b,c,d])>1:
return True
else:
return False
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。