Python的流程控制

Python的流程控制

  • 顺序
    按照先后顺序一条条执行
    例如,先洗手,再吃饭,再洗碗

  • 分支
    根据不同的情况判断,条件满足执行某条件下的语句
    例如,先洗手,如果饭没有做好,玩游戏,如果饭做好了,就吃饭,如果饭都没有,叫外卖

  • 循环
    条件满足就反复执行,不满足就不执行或不再执行
    例如,先洗手,看饭好了没有,没有好,一会来看一次是否好了,一会儿来看一次,直到饭好了,才可是吃饭。这里循环的条件是饭没有好,饭没有好,就循环的来看饭好了没有。

分支结构

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

可以通过下图来简单了解分支结构语句的执行过程:
Python

  • 单分支结构:if语句

    1
    2
    3
    4
    5
    if condition:
    代码块
    condition必须是一个bool类型,这个地方有一个隐式转换boolcondition)
    if 1<2:
    print('1 less than 2')

    代码块

    类似于if语句的冒号后面的就是一个语句块
    在if、for、def、class等关键字后使用代码块
    
  • 多分支结构:if…elif…else语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    if condition1:
    代码块1
    elif condition2:
    代码块2
    elif condition3:
    代码块3
    ......
    else:
    代码块
  • 分支嵌套:单分支结构嵌套多分支结构
    例如:给定一个不超过5位的正整数,判断其有几位

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    val = input('>>>')
    val = int(val)
    if val >= 1000: #fold
    if val>=10000:
    print(5)
    else:
    print(4)
    else:
    if val>=100:
    print(3)
    elif val >= 10:
    print(2)
    else:
    print(1

循环语句

  • while语句
    语法:

    1
    2
    while condition:    
    block

    当条件满足即condition为True,进入循环体,执行block
    例如:

    1
    2
    3
    4
    flag=10
    while flag:
    print(flag)
    flag -= 1
  • for语句
    语法:

    1
    2
    for element in iteratable:
    block

    当可迭代对象中有元素可以迭代,进入循环体,执行block
    range函数: 创建一个整数列表
    举例:打印1~10

    1
    2
    for i in range(10):
    print(i+1)
  • 循环 else子句
    语法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    while condition:
    block
    else:
    block

    for element in iteratable:
    block
    else:
    block

    如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行

  • continue
    中断当前循环的当次执行,继续下一次循环
    举例:打印10以内的偶数

    1
    2
    3
    4
    for i in range(10):
    if i%2 == 1:
    continue
    print(i)
  • break
    终止当前循环
    举例:计算1000以内的被7整除的前20个数

    1
    2
    3
    4
    5
    6
    count = 0
    for i in range(0,1000,7):
    print(i)
    count += 1
    if count >= 20:
    break
  • continue、break语句总结

    1. continue和break是循环的控制语句,只影响当前循环,包括while、for循环
    2. 如果循环嵌套, continue和break也只影响语句所在的那一层循环
    3. continue和break 不是跳出语句块,所以 if cond: break 不是跳出if,而是终止if外的break所在的循环
-------------本文结束感谢您的阅读-------------
0%