Python 3 学习笔记:流程控制

发布时间:2019-09-05 07:16:19编辑:auto阅读(1580)

    程序结构

    计算机在解决某个具体问题时,主要有三种形式,分别是顺序控制执行所有语句、选择执行部分语句和循环执行部分语句。根据以上三种解决问题的形式,程序设计过程中,也有三种基本结构,分别为顺序结构、选择结构和循环结构。

    顺序控制

    顺序结构很好理解,就是计算机按照程序语句的顺序由上到下依次执,每一条语句都会被忠实的执行,这样就有很大的局限性。如果一个问题可能有多种情况发生,而实际只会发生一种,顺序结构就不能做这一类的选择。

    选择控制

    满足条件即执行,不满足则跳过。

    if …

    if 这个英文单词的中文意思是“如果”,在程序编写中,也就是如果…就…,

    1
    2
    if expression:
    do some things
    复制
    expression 是一个表达式,这个表达式的结果为真(True),则执行 do somthing;如果为假(False),则跳过 do something 语句块。

    if … else …

    if 语句给出了满足条件之后应该做什么,而没有给出不满足条件应该做什么。所以,有衍生出了 else 语句,

    1
    2
    3
    4
    if expression:
    do some things
    else:
    do some things
    复制
    if … else … 语句给出了如果 expression 表达式的结果为假(False)时,程序应该做什么事。

    if … elif … else…

    如果一个问题有多种可能的结果供选择,就需要使用 elif 语句,

    1
    2
    3
    4
    5
    6
    7
    if expression 1:
    do some things
    elif expression 2:
    do some things
    ...
    else:
    do some things
    复制
    该语句用于从众多可能的选项中挑选一个,也就是如果第一个表达式满足条件,其后的语句就会被执行,然后跳出整个结构,无论 elif 的表达式是否为真(即使以后的 elif 的表达式都为真,其后的语句也不会被执行)。只有在前面所有的表达式都为假时,才会执行 else 后的语句。

    循环控制

    如果满足条件则进入循环体,循环体执行完毕后,再次判断条件是否满足,如果满足则再次进入循环体,反之则执行循环体之后的语句。

    while

    while 循环通过一个条件来控制是否要反复执行循环体,

    1
    2
    while expression:
    do some things
    复制
    expression 首次为真时,执行循环体,执行完毕之后再次计算 expression ,如果还为真则再次执行循环体;如果为假,则执行循环体之后的语句。

    for

    for 循环是一个依次从复执行的循环,通常用于枚举或遍历序列,以及迭代对象中的元素,

    1
    2
    for iteration in objects:
    do some things
    复制
    iteration 是一个个从 objects 中取出的可迭代变量,即只要 iteration 存在于 objects 中,则执行循环体。

    例如,我们要计算 1 到 100 的累加和,就可以使用 for 循环,

    1
    2
    3
    4
    5
    6
    result = 0

    for number in range(1, 101):
    result += number

    print(result)
    复制
    其中,range() 函数可在一定范围内生成一系列连续的整数,

    1
    range(start, end, step)
    复制
    start 用于指定起始值,默认值为 0;end 用于指定结束的值;step 用于指定步长,即连续两个数之间的间隔(它们的差的绝对值),默认值为 1 。

    在 Python 编程中,像 range() 这一类有起始值和结束值得函数,其取值范围都是 起始值 <= x < 结束值

    当然了,上面的语句我们也可以使用 while 语句实现,

    1
    2
    3
    4
    5
    6
    7
    8
    result = 0
    number = 1

    while number < 101:
    result += number
    number += 1

    print(result)
    复制
    for 语句还可以来遍历序列,

    1
    2
    3
    4
    list = ["hello", "python", 2019, 8, 1]

    for item in list:
    print(item, end="\t")
    复制
    嵌套

    在一个选择(循环)控制语句中,还有若干个选择(循环)控制语句,被称为选择(循环)嵌套语句,理论上是可以无限嵌套的。

    1
    2
    3
    4
    for i in range(1, 10):
    for j in range(1, i+1):
    print(str(j) + "x" + str(i) + "=" + str(j * i) + "\t", end="")
    print()
    复制
    跳转语句

    break

    break 语句可以终止当前的循环,一般结合 if 语句搭配使用,即在满足特定条件时跳出当前循环,继续执行循环之后的语句。

    1
    2
    3
    4
    5
    while expression:
    do some things

    if condition:
        break

    复制
    或者,

    1
    2
    3
    4
    5
    for iteration in objects:
    do some things

    if condition:
        break

    复制
    continue

    continue 语句无法结束循环,只能跳出本次循环,提前执行下一次循环,

    1
    2
    3
    4
    5
    while expression:
    do some things

    if  condition:
        continue

    复制
    或者,

    1
    2
    3
    4
    5
    for iteration in objects:
    do some things

    if  condition:
        continue

    复制
    pass 语句

    pass 语句没有实际作用,只起到占位的作用。例如,在 if 结构中,如果满足条件时就执行某系语句,而当还没有想好这些语句如何编写时,可以先使用 pass 占位,保证程序可以正常向下运行,待想好后在替换 pass 即可。

关键字