13. Python 的循环控制语句

AI 概述
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 一个...
目录
文章目录隐藏
  1. 1. while 循环语句
  2. 2. for 循环语句
  3. 3. break 语句
  4. 4. continue 语句
  5. 5. else 语句
  6. 6. 小结

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

1. while 循环语句

1.1 功能与语法

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

图:while 循环结构
图:while 循环结构

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

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

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

while 条件:
    代码块

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

1.2 例子

编写程序 while-loop.py,如下所示:

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 语句用于遍历序列中的元素,这里所讲的序列是广义的,可以是:

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

2.2 遍历列表

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

程序的输出结果如下:

www
mybj123
com

2.3 遍历元组

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

程序的输出结果如下:

www
mybj123
com

2.4 遍历集合

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

程序的输出结果如下:

www
mybj123
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
    
  2. 例子:遍历 range (1, 3)
    for item in range(1, 3):
        print(item)

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

    1
    2
    

3. break 语句

3.1 功能与语法

在通常的循环中,当条件为假时,循环才会终止,有些情况下,希望能够提前从循环中退出。Python 提供了
break 语句用于从循环中退出,如下图所示:

图:break 语句
图: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 语句用于跳过循环块中的剩余语句,如下图所示:

图:continue 语句
图: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

编写程序 while-else.py,如下所示:

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

程序输出结果为:

1
2
3
At the end: 4

5.2 在 for 循环中使用 else 语句

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

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

编写程序 for-else.py,如下所示:

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

程序输出结果为:

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)

运行程序,输出相同的结果。

6. 小结

Python 中的循环控制语句只有 for 和 While 两种,不同于 C 或者 Java 等其他编程语言还有 do…while。循环控制语句和分级结构语句一样在工作中经常会用到。大家多想想在编程中有什么地方是需要用到 循环控制语句的,想到之后不妨用代码实现一下。

以上关于13. Python 的循环控制语句的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 13. Python 的循环控制语句

发表回复