python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python循环控制语句使用

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

作者:数据蜂窝

这篇文章主要介绍了Python中的循环控制语句使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

1. while 循环语句

1.1 功能与语法

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

图: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
2
3
END

2. for 循环语句

2.1 功能与语法

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

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

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

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

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 对象表示一定范围的整数序列,它有两种形式:

  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 语句用于从循环中退出,如下图所示:

图: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)

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

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

2
3
False

4. continue 语句

4.1 功能与语法

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

图:continue 语句

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)

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

12

5. else 语句

5.1 在 while 循环中使用 else 语句

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

while 条件:
    代码块 1
else:
    代码块 2

编写程序 ,如下所示:

实例演示

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

编写程序,如下所示:

实例演示

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

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

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

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

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。循环控制语句和分级结构语句一样在工作中经常会用到。

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文