首页 > 学院 > 开发设计 > 正文

今天练习了一下用python写函数,就把它记录到博客上吧冒泡排序和素数判断

2019-11-14 17:15:41
字体:
来源:转载
供稿:网友

第一个是判断素数,先上代码吧:

 1 from math import sqrt 2 def is_PRime(i): 3     if i == 2: 4         return  True 5     elif i<2: 6         return False 7     elif i%2 == 0: 8         return False 9     else:10         for n in range(3,int(sqrt(i)+1),2):11             if i%n == 0:12                 return False13     return True

这里用到了math包的sqrt,为了尽可能提高效率,少循环几次,这里有个range函数,有三个参数,分别是起点,终点,间隔,间隔是可选的,像range(0,12,3就是[0,3,6,9]。

 

第二个是冒泡排序,还是上代码:

import randomlist = 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

  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表