开发者

Python中的循环控制语句使用详解

目录
  • 1. while 循环语句
    • 1.1 功能与语法
    • 1.2 例子
  • 2. for 循环语句
    • 2.1 功能与语法
    • 2.2 遍历列表
    • 2.3 遍历元组
    • 2.4 遍历集合
    • 2.5 遍历 range 对象
  • 3. break 语句
    • 3.1 功能与语法
    • 3.2 例子
  • 4. continue 语句
    • 4.1 功能与语法
    • 4.2 例子
  • 5. else 语句
    • 5.1 在 while 循环中使用 else 语句
    • 5.2 在 for 循环中使用 else 语句
    • 5.3 一个有意义的例子
  • 总结

    在代码中有的时候我们需要程序不断地重复执行某一种操作,例如我们需要不停的判断某一列表中存放的数据是否大于 0,这个时候就需要使用循环控制语句。

    1. while 循环语句

    1.1 功能与语法

    程序的循环结构允许多次执行相同的代码块,如下图所示:

    Python中的循环控制语句使用详解

    图:while 循环结构

    在循环结构中,程序的执行流程为:

    1. 判断循环条件
    2. 如果为真,则执行循环中的代码块;执行后跳转到步骤 1,重复第 1 步和第 2 步.
    3. 如果为假,则循环结束

    python 提供了 while 语句用于循环控制,语法如下:

    while 条件:
        代码块

    当循环条件为真时,程序会反复执行代码块,直至循环条件为假。

    1.2 例子

    编写程序,如下所示:

    实例演示

    number = 1
    while number <= 3:
        print(number)
        number = number + 1
    print('END')

    点击 "运行案例" 可查看在线运行效果

    • 在第 1 行,设置变量 number 的初值为 1
    • 在第 2 行,判断变量 number 是否小于等于 3,执行 4 次条件判断
      • 第 1 次条件判断时,number 等于 1,打印 1,将 number 递增为 2
      • 第 2 次条件判断时,number 等于 2,打印 2,将 number 递增为 3
      • 第 3 次条件判断时,number 等于 3,打印 3,将 number 递增为 4
      • 第 4 次条件判断时,number 等于 4,循环结束,执行第 5 行,打印 END

    程序输出结果为:

    1

    2

    3

    END

    2. for 循环语句

    2.1 功能与语法

    Python 提供了 for 语句用于遍历序列中的元素,语法如下所示:

    for 循环变量 in 序列:
        代码块

    假设序列中包含有 N 个元素:A1、A2、…、An,使用 for 语句遍历该序列的过程如下:

    • for 语句中的代码块会执行 N 次
    • 第 1 次执行时,循环变量的值为 A1
    • 第 2 次执行时,循环变量的值为 A2
    • 第 N 次执行时,循环变量的值为 An

    for 语句用于遍历序列中的元素,这里所讲的序列是广义的,可以是:

    • 列表
    • 元组
    • 集合
    • rangjavascripte 对象

    2.2 遍历列表

    实例演示

    for item in ['www', 'imooc', 'com']:
        print(item)

    点击 "运行案例" 可查看在线运行效果

    程序的输出结果如下:

    www

    imooc

    com

    2.3 遍历元组

    实例演示

    for item in ('www', 'imooc', 'com'):
        print(item)

    点击 "运行案例" 可查看在线运行效果

    程序的输出结果如下:

    www

    imooc

    com

    2.4 遍历集合

    实例演示

    for item in {'www', 'imooc', 'com'}:
        print(item)

    点击 "运行案例" 可查看在线运行效果

    程序的输出结果如下:

    www

    imooc

    com

    2.5 遍历 range 对象

    Python 中 range 对象表示一定范围的整数序列,它有两种形式:

    • range (number) 表示区间 [0, number) 内的整数序列,该区间从 0 开始、到 number 结束,不包含 number。
    • range (start, end) 表示区间 [start, end) 内的整数序列,该区间从 start 开始、到 end 结束,不包含 end。
    1. 例子:遍历 range (3)

    实例演示

    for item in range(3):
        print(item)

    点击 "运行案例" 可查看在线运行效果

    range (3) 表示 0、1、2 这三个整数构成的序列,程序的输出结果如下:

    0

    1

    2

    1. 例子:遍历 range (1, 3)

    实例演示

    for item in range(1, 3):
        print(item)

    点击 "运行案例" 可查看在线运行效果

    range (1,3) 表示 1、2 这两个整数构成的序列,程序的输出结果如下:

    1

    2

    3. break 语句

    3.1 功能与语法

    在通常的循环中,当条件为假时,循环才会终止,有些情况下,希望能够提前从循环中退出。

    Python 提供了 break 语句用于从循环中退出,如下图所示:

    Python中的循环控制语句使用详解

    图:break 语句

    • 当条件为假时,循环结束,程序流程到达出口
    • 当条件为真时,执行条件为真的分支中的代码块
      • 如果代码块中包含有 break 语句
      • break 语句会中断当前的循环执行流程,直接跳转到程序的出口

    3.2 例子

    编写程序检测 number 是否为素数,将检测结果保存在变量 is_prime 中,如下所示:

    实例演示

    number = 9
    is_prime = True
    factor = 2
    while factor < number:
        print(factor)
        if number % factor == 0:
            is_prime = False
            break
        factor = factor + 1
    print(is_prime)

    点击 "运行案例" 可查看在线运行效果

    • 在第 1 行,设置 number 为 9,程序检测 number 是否为素数
    • 在第 2 行,设置检测结果 is_prime 初值为 True
    • 在第 3 行,设置循环变量 factor 为 2
      • 在第 4 行,判断循环变量 factor 是否小于 number
      • 在第 9 行,循环变量 factor 自增 1
    • 在第 6 行,判断 factor 是否是 number 的因子
      • 如果 factor 是 number 的因子,则 number 不是素数
      • 在第 6 行,将结果记录在变量 is_prime 中
      • 在第 7 行,已经检测到 number 不是素数,因此可以提前退出循环

    运行程序,输出结果如下:

    2

    3

    False

    4. continue 语句

    4.1 功能与语法

    在通常的循环中,循环块中的语句是顺序执行的,有些情况下,希望能够跳过循环块中的剩余语句。Python 提供了 continue 语句用于跳过循环块中的剩余语句,如下图所示:

    Python中的循环控制语句使用详解

    图:continue 语句

    • 当条件为假时,循环结束,程序流程到达出口
    • 当条件为真时,执行条件为真的分支中的代码块
      • 如果代码块中包含有 continue 语句
      • break 语句会中断当前的循环执行流程,直接跳转到循环条件处

    4.2 例子

    编写程序计算列表中正数的累加和,代码如下:

    list1 = [1,2,3,4,5,6]
    list1_sum = 0
    for i in list1:
    	if i % 2 != 0:
    		continue
    	list1_sum += i
    print(list1_sum)
    • 在第 1,2 行,设定一个含有六个元素的列表,并定义一个结果变量;
    • 在第 3 行,使用 for 循环遍历这个列表;
    • 在第 4 行,判断元素是否是偶数,不是偶数则使用 continue 关键字跳出本编程次循环
    • 在第 6 行,能够执行到这里说明元素是偶数,则追加到结果变量上。

    程序运行的输出结果如下:

    12

    5. else 语句

    5.1 在 while 循环中使用 else 语句

    while 语句中提供了 else 语句,语法如下:

    while 条件:
        代码块 1
    else:
        代码块 2
    • 当循环条件为真时,执行代码块 1
    • 当循环条件为假时,执行代码块 2

    编写程序 ,如下所示:

    实例演示

    number = 1
    while number <= 3:
        print(number)
        number = number + 1
    else:
        print('At the end:', number)

    点击 "运行案例" 可查看在php线运行效果

    程序输出结果为:

    1

    2

    3

    At the end: 4

    5.2 在 for 循环中使用 else 语句

    for 语句中提供了 else 语句,语法如下:

    for 变量 in 序列:
        代码块 1
    else:
        代码块 2
    • 当循环条件为真时,执行代码块 1
    • 当循环条件为假时,执行代码块 2

    编写程序,如下所示:

    实例演示

    for number in range(1, 4):
        print(number)
    else:
        print('At the end:', numbphper)

    点击 "运行案例" 可查看在线运行效果

    程序输出结果为:

    1

    2

    3

    At the end: 3

    5.3 一个有意义的例子

    else 语句通常用于当循环非正常退出的场景中,一个有意义的例子如下:

    实例演示

    number = 9
    factor = 2
    while factor < number:
        print(factor)
        if number % factor == 0:
            is_prime = False
            break
        factor = factor + 1
    else:
        is_prime = True
    print(is_prime)

    点击 "运行案例" 可查看在线运行效果

    编程客栈

    该程序检测 number 是否为素数,将检测结果保存在变量 is_prime 中

    在第 1 行,设置 number 为 9,程序检测 number 是否为素数

    在第 2 行,设置循环变量 factor 为 2

    • 在第 3 行,判断循环变量 factor 是否小于 number
    • 在第 8 行,循环变量 factor 自增 1

    在第 5 行,判断 factor 是否是 number 的因子

    • 如果 factor 是 number 的因子,则 number 不是素数
    • 在第 6 行,将结果记录在变量 is_prime 中
    • 在第 7 行,提前退出循环

    在第 9 行,依次测试 2、3、4、5、6、7、8 是否为 number 的因子

    • 如果都不是 number 的因子,则说明 number 是素数
    • 在第 10 行,将结果记录在变量 is_prime 中

    运行程序,输出结果如下:

    2

    3

    False

    上述的例子,使用 for 循环改写,如下所示:

    实例演示

    number = 9
    for factor in range(2, number):
        print(factor)
        if number % factor == 0:
            is_prime = False
            break
    else:
        is_prime = True
    print(is_prime)

    点击 "运行案例" 可查看在线运行效果

    运行程序,输出相同的结果,如下所示:

    2

    3

    False

    总结

    Python 中的循环控制语句只有 for 和 While 两种,不同于 C 或者 Java 等其他编程语言还有 do…while。循环控制语句和分级结构语句一样在工作中经常会用到。

    大家多想想在编程中有什么地方是需要用到 循环控制语句的,想到之后不妨用代码实现一下。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜