zoukankan      html  css  js  c++  java
  • 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))
  • 相关阅读:
    逻辑卷扩容
    iptables网络防火墙||SNAT,DNAT等转发路由动作
    常用rman操作语句
    常用Oracle的SQL语句
    oracle中的单引号和双竖线||以及q'间隔符
    网站升级HTTPS教程
    站长必备:网站被黑后怎么快速搞定
    常见HTTP错误代码
    在Android中实现一个简易的Http服务器
    Android开发新手常见的10个误区
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/14418119.html
Copyright © 2011-2022 走看看