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))