python之循环嵌套与算法

 1 #循环嵌套
 2 # 循环嵌套就是先把外层循环执行一次,内部循环全部执行一次,外部循环有三个值的话,内部循环要全部执行3遍
 3 
 4 
 5 #例子
 6 # beforetax = [10000,9000,5000,3000]
 7 # aftertax = []
 8 # for one in beforetax:
 9 #     aftertax.append(one*0.9)
10 # print(aftertax)
11 
12 #列表生成式,优势:代码简洁,一行搞定  缺点:不易理解,不易于维护和debug ,for循环中逻辑比较复杂的情况不用列表生成式
13 # aftertax2 = [one*0.9 for one in beforetax if one > 5000]
14 # print(aftertax2)
15 
16 #排序算法
17 # alist = [9,0,3,5]
18 # alist.sort()
19 # print(alist)
20 # #倒序 两方法
21 # #1
22 # print(alist[::-1])
23 # #2
24 # alist.sort(reverse=True)
25 # print(alist)
26 
27 #冒泡排序
28 #第一种方法
29 alist = [9,0,3,5]
30 #每次找出一个较大值,--需要找len -1次
31 #比较相邻的两个元素,大的话往后移
32 # 循环次数
33 for i in range(0, len(alist)-1):
34     #循环比较相邻的两个元素
35     for j in range(0,len(alist)-1-i):
36         if alist[j] > alist[j+1]:
37             #调换位置
38             alist[j],alist[j+1] = alist[j+1],alist[j]
39 #循环次数走完时,打印结果
40 print(alist)
41 
42 #第二种方法,定义函数
43 alist = [9,0,3,6]
44 #每次找出一个较大值,--需要找len -1次
45 #比较相邻的两个元素,大的话往后移
46 def get_list(alist):
47 # 循环次数
48     for i in range(len(alist)-1,0,-1):
49         #循环比较相邻的两个元素
50         for j in range(0,i):
51             if alist[j] > alist[j+1]:
52                 #调换位置
53                 alist[j],alist[j+1] = alist[j+1],alist[j]
54     return alist
55 print(get_list(alist))

 

posted @ 2021-02-19 21:11  小boboa  阅读(686)  评论(0编辑  收藏  举报