• python基础(二) —— 流程控制语句


    编程语言中的流程控制语句分为以下几类:

    • 顺序语句
    • 分支语句
    • 循环语句

    其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明。

    下面主要是 分支语句 和 循环语句的说明:

    Python中的真假判断标准:

    Python中只有判断语句的最终结果:非0,非空,非None,结果就为真

    1、分支语句

    条件分支语句是通过一条或多条语句(判断条件)的执行结果(True/False)来决定执行哪个分支的代码块。

    Python中提供的分支语句为:if..else语句,没有提供switch..case语句。

    if..else语句有以下几种形式:

    1.1 单分支:

    if 判断条件:

        代码块

     

    如果单分支语句的代码块只有一条语句,可以把if语句和代码写在同一行:

    if 判断条件: 一句代码

    示例:

    a = 1
    b = 5
    c = 10
    if a <= b <= c:
       
    print('1 <= 5 <= 10')

    输出:

    1 <= 5 <= 10

    代码块中只有一条语句,可以改写为:

    a = 1
    b = 5
    c = 10
    if a <= b <= c:    print('1 <= 5 <= 10')

    输出:

    1 <= 5 <= 10

    1.2 双分支:

    if 判断条件:

        代码块

    else:

        代码块

     

    示例:

    a = 1
    b = 5
    if a >= b :
       
    print('a大于b')
    else:
       
    print('a小于b')

    输出结果:

    a小于b

    1.3 多分支:

    if 判断条件1:

        代码块1

    elif 判断条件2:

        代码块2

    ...

    elif 判断条件n:

        代码块n

    else:

        默认代码块

     

    示例:根据学生分数打印字母等级

    score = 88.8

    level = int(score % 10)

    if level >= 10:

        print('Level A+')

    elif level == 9:

        print('Level A')

    elif level == 8:

        print('Level B')

    elif level == 7:

        print('Level C')

    elif level == 6:

        print('Level D')

    else:

        print('Level E')

    输出结果:Level B

    注意

    当上面的“判断条件”中的表达式可以是任意的表达式,也可以是任意类型的数据对象实例。只要判断条件的最终返回结果的值测试为True时,就表示该条件成立,相应的代码块就会被执行;否则表示条件不成立,需要判断下一个条件

     

    2、循环语句

    当我们需要多次执行一个代码语句或代码块时,可以使用循环语句。

    Python中提供的循环语句有2种:while循环(通用)和for循环(已知循环次数使用)。

    需要注意的是Python中没有do..while循环

    此外,还有几个用于控制循环执行过程的循环控制语句:break、continue和pass。

    2.1.  while循环

    基本形式

    2.1.1  while循环语句基本语句

    基本形式如下:

    while 判断条件:

        代码块

     

    当给定的判断条件的返回值的真值测试结果为True时执行循环体的代码,否则退出循环体

    示例:循环打印数字0-9

    count = 0

    while count <= 9:

        print(count, end=' ')

        count += 1

    输出结果:0 1 2 3 4 5 6 7 8 9

    2.1.2  while死循环

    当while的判断条件一直为True时,while循环体中代码就会永远循环下去

    while True:

        print("这是一个死循环")

     

    输出结果:

    这是一个死循环

    这是一个死循环

    这是一个死循环

    ...

    此时可以通过Ctrl + C终止运行。

    2.1.3  while..else

    语句形式:

    while 判断条件:

        代码块

    else:

        代码块

     

    else中的代码块会在while循环正常执行完的情况下执行,如果while循环被break中断,else中的代码块不会执行。

     

    示例1:while循环正常执行结束的情况(else中的语句会被执行)

    count = 0

    while count <=9:

        print(count, end=' ')

        count += 1

    else:

        print('end')

    执行结果为:0 1 2 3 4 5 6 7 8 9 end

    示例2:while循环被中断的情况(else中的语句不会被执行)

    count = 0

    while count <=9:

        print(count, end=' ')

        if count == 5:

            break

        count += 1

    else:

        print('end')

    输出结果:0 1 2 3 4 5

    2.2.  for循环

    for循环通常用于遍历序列(listtuplerangestr)、集合(set)和映射对象(dict)

    基本形式

    2.2.1.  for循环的基本格式:

    for   临时变量   in   可迭代对象:

        代码块

     

    示例:遍历打印一个list中的元素

    names = ['Tom', 'Peter', 'Jerry', 'Jack']

    for  name  in  names:

        print(name)

    对于序列,也通过索引进行迭代:

    names = ['Tom', 'Peter', 'Jerry', 'Jack']

    for  i  in  range(len(names)):

        print(names[i])

    执行结果:

    Tom

    Peter

    Jerry

    Jack

    2.2.2  for...else

    与while..else基本一致,同样else语句只有在for循环正常执行结束时才会执行,如果for循环被break跳出,则不执行else语句。

    2.3. 循环控制语句

    循环控制语句可以更改循环体中程序的执行过程,如中断循环、跳过本次循环。

    循环控制语句

    说明

    break

    跳出当前层循环,不能一次跳出多层

    contine

    跳过本次循环,继续执行本层的下一次循环

    pass

    pass语句是个空语句,只是为了保持程序结构的完整性,相当于占位符,没有什么特殊含义。

    pass语句并不是只能用于循环语句中,也可以用于分支语句中。

    示例1:遍历0-9范围内的所有数字,并通过循环控制语句打印出其中的奇数

    for  i  in  range(10):

        if  i % 2 == 0:

            continue

        print(i, end=' ')

    输出结果:1 3 5 7 9

    示例2:通过循环控制语句打印一个列表中的前3个元素

    names = ['Tom', 'Peter', 'Jerry', 'Jack', 'Lilly']

    for  i  in  range(len(names)):

        if  i  >= 3:

            break

        print(names[i])

    输出结果:

    Tom

    Peter

    Jerry

    2.4. 循环嵌套

    循环嵌套是指:在一个循环体里面嵌入另一循环。

    示例1:通过while循环打印99乘法表

    j = 1

    while j <= 9:

        i = 1

        while i <= j:

            print('%d*%d=%d' % (i, j, i*j), end=' ')

            i += 1

        print()

        j += 1

    示例2:通过for循环打印99乘法表

    for j in range(1, 10):

        for i in range(1, j+1):

            print('%d*%d=%d' % (i, j, i*j), end=' ')

            i += 1

        print()

        j += 1

    注意:python中没有类似C中的自增和自减运算,因为数值类型的对象在python中属于不可变类型,不能够原位改变其值

  • 相关阅读:
    [Swift]LeetCode71. 简化路径 | Simplify Path
    [Swift]LeetCode68. 文本左右对齐 | Text Justification
    武汉亿童笔试面试心得体会
    武汉亿童笔试面试心得体会
    武汉一起好面试心得体会
    武汉一起好面试心得体会
    武汉财富基石笔试面试心得体会
    武汉财富基石笔试面试心得体会
    武汉游记,三天找工作之旅终于结束了
    武汉游记,三天找工作之旅终于结束了
  • 原文地址:https://www.cnblogs.com/wyzhou/p/9313567.html
Copyright © 2020-2023  润新知