• python 条件控制与 循环


    1.条件控制(if语句)

    条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块

    if 语句

    用 elif 代替了 else if

    if...elif...else
    if condition_1(条件1):
        statement_block_1      
    # 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
    elif condition_2:
        statement_block_2
    else:
        statement_block_3

    if 嵌套

    if 表达式1:
        语句
        if 表达式2:
            语句
        elif 表达式3:
            语句
        else:
            语句
    elif 表达式4:
        语句
    else:
        语句

    2.循环语句   (while 和 for)

    while 循环

    while 判断条件:
        语句

     

    无限循环

    var = 1
    while var == 1 :  # 设置条件表达式永远为 true 来实现无限循环

     

    while 循环使用 else 语句

    在 while … else 在条件语句为 false 时执行 else 的语句块:

    while a < 5:
       print (a, " 小于 5")       # 当条件 a< 5 为True时执行
    else:
       print (a, " 大于或等于 5")  # 当条件 a< 5 为True时执行

    for 语句

     for循环可以遍历任何序列的项目,如一个列表(['Google', 'Runoob', 1997, 2000])或者一个字符串("abcdefg")。

    for循环的一般格式如下:

    for <variable(变量)> in <sequence(序列)>:
         <statements(声明,结果)> 
    else:
         <statements>

    实例:

    >>>languages = ["C", "C++", "Perl", "Python"] 
    >>> for x in languages:
    ...     print (x)
    ... 
    C
    C++
    Perl
    Python

     

    range()函数

    注意:range()区间是左闭右开,range(2,2)是空的!

               range(2)是  从0开始算:0 1     相当于range(0,2)

    1.如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列:

    >>>for i in range(5):
    ...     print(i)
    ...
    0
    1
    2
    3
    4

    2.使用range指定区间的值:

    >>>for i in range(5,9) :        #  range()区间是左闭右开
        print(i)
     
        
    5
    6
    7
    8

     3.使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):

    >>>for i in range(0, 10, 3) :
        print(i)
     
        
    0
    3
    6
    9
    
    
    负数
    >>>for i in range(-10, -100, -30) :
        print(i)
     
        
    -10
    -40
    -70

    4.结合range()和len()函数以遍历一个序列的索引

    Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。

    >>>str = "runoob"
    >>> len(str)             # 字符串长度
    6
    >>> l = [1,2,3,4,5]
    >>> len(l)               # 列表元素个数
    5

    实例:  

    其中:len(a) 是 6
    range(len(a)) 是 0 1 2 3 4 5 
    >>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
    >>> for i in range(len(a)):
    ...     print(i, a[i])
    ... 
    0 Google
    1 Baidu
    2 Runoob
    3 Taobao
    4 QQ

    5.使用range()函数来创建一个列表

    >>list(range(5))
    [0, 1, 2, 3, 4]

     6.求1-100 的和:

    >>> sum(range(101))
    5050

    "break和continue语句及循环中的else子句"

    break 语句可以跳出 for 和 while 的循环体

    #!/usr/bin/python3
     
    for letter in 'Runoob':     # 第一个实例
       if letter == 'b':
          break
       print ('当前字母为 :', letter)
      
    var = 10                    # 第二个实例
    while var > 0:              
       print ('当期变量值为 :', var)
       var = var -1
       if var == 5:
          break
     
    print ("Good bye!")


    输出:
    当前字母为 : R
    当前字母为 : u
    当前字母为 : n
    当前字母为 : o
    当前字母为 : o
    当期变量值为 : 10
    当期变量值为 : 9
    当期变量值为 : 8
    当期变量值为 : 7
    当期变量值为 : 6
    Good bye!

     continue语句被用来告诉Python跳过当前循环块中(比如n = 1)的剩余语句( 就是放弃执行n = 1 这个循环),然后继续进行下一轮循环(n = 2)

    #!/usr/bin/python3
    
    for var in "abccccccde":       # 第一个实例
        if var == "c":       # 字母为 c 时跳过输出
            continue
        print("当前字母为:",var)
    
    
    
    var = 10                    # 第二个实例
    while var > 0:              
       var = var -1
       if var == 5:             # 变量为 5 时跳过输出
          continue
       print ('当前变量值 :', var)
    print ("Good bye!")


    当前字母 : a
    当前字母 : b
    当前字母 : d
    当前字母 : e
    当前变量值 : 9
    当前变量值 : 8
    当前变量值 : 7
    当前变量值 : 6
    当前变量值 : 4
    当前变量值 : 3
    当前变量值 : 2
    当前变量值 : 1
    当前变量值 : 0
    Good bye!

     循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

    pass 语句

    Python pass就是一条空语句。在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass。

    作用:pass只是为了防止语法错误:

    >>if a>1:
      pass #如果没有内容,可以先写pass,但是如果不写pass,就会语法错误
    >>while True:
      pass  # 等待键盘中断 (Ctrl+C)

    enumerate 函数(枚举)

    使用内置 enumerate 函数进行遍历

    for index, item in enumerate(sequence):         # enumerate  枚举
    process(index, item)                            # sequence   序列
    
    
    >>> sequence = [12, 34, 34, 23, 45, 76, 89]
    >>> for i, j in enumerate(sequence):
    ...     print(i, j)
    ... 
    0 12
    1 34
    2 34
    3 23
    4 45
    5 76
    6 89
    欢迎转发,版权共享
  • 相关阅读:
    Python单元测试之unittest基础
    linux--硬链接和软链接
    12-8 istio核心功能实战-----可观察性(程访问遥测插件)
    12-7 istio核心功能实战-----可观察性(网络可视化)
    12-6 istio核心功能实战-----可观察性(分布式追踪)
    12-3 部署面向生产的istio-----核心组件
    12 ServiceMesh代表作istio-----12-1 ServiceMes、Istio架构原理
    11-7 Grafana看板和邮件报警
    11-6 监控落地
    11-4 部署前奏-Helm&Operator
  • 原文地址:https://www.cnblogs.com/linguansheng/p/10184508.html
Copyright © 2020-2023  润新知