Python教程--循环(Loops and Iterations)

这篇文章将会分享关于python中关于循环(Loops and Iterations)的一些相关知识。

在前面的文章中,我们学习了列表、元组、集合、以及字典的相关知识。接下来我们要把我们学到的这些东西运动起来,从而让python发挥更加强大的作用。首先,我们进入循环语句的学习。

一、for 循环

for 为遍历循环,可以遍历任何序列,如 list,tuple,迭代器等。先举一个最简单的例子:

1
2
3
nums = [1, 2, 3, 4, 5]
for num in nums:
print (num)

运行程序,我们会得到如下结果:

1
2
3
4
5
1
2
3
4
5

Break 和 Continue

上面是一个最简单的for循环的例子,它会把序列中的所有的元素都遍历一遍。但如果我们只想针对特定元素查找呢?如果还用前面的方法,在我们找到所需要的元素之后,后面的所有元素也会被接着循环。针对这个问题,我们可以在得到我们想要的结果之后,用break语句来结束循环。比如:

1
2
3
4
5
6
nums = [1, 2, 3, 4, 5]
for num in nums:
if num ==3:
print('Found!')
break
print (num)

执行程序,返回结果如下:

1
2
3
1
2
Found!

与之相反的,如果我们想要跳过某种特定条件,然后还想让程序继续执行,我们可以用continue语句。比如:

1
2
3
4
5
6
nums = [1, 2, 3, 4, 5]
for num in nums:
if num ==3:
print('Found!')
continue
print (num)

执行程序,运行结果如下:

1
2
3
4
5
1
2
Found!
4
5

二、循环的嵌套

如果数据结构比较复杂,直接用单循环会比较吃力。这时候就会用到嵌套循环,也就是说在一个循环体里面嵌入另一个循环。外循环每执行一次,内循环全部执行完。然后重复这个过程,直到外循环执行完毕,整个循环才会结束。我们举个简单的例子:

1
2
3
4
nums = [1, 2, 3, 4, 5]
for num in nums:
for letter in'abc':
print(num, letter)

执行程序,我们会得到如下结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1 a
1 b
1 c
2 a
2 b
2 c
3 a
3 b
3 c
4 a
4 b
4 c
5 a
5 b
5 c

三、while 循环

除了使用for循环,python还给我们提供了另外一种循环:while循环。在大多数时候,for循环和while循环是可以互换的。但while循环在特定条件下可以发挥它高效而又神奇的功效。我们先举个例子来认识以下while循环:

1
2
3
4
x = 0
while x < 10:
print (x)
x +=1

运行程序,我们会得到如下结果:

1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9

我们也可以使用for循环达到同样的效果:

1
2
for i in range(10):
print(i)

这种情况下,我们可以使用任意一种循环来执行我们所需的任务。但如果我们想要创建一个无限循环,也就是说我们想要创造一个一直运行下去直到得到我们想要的结果才停止的程序,那么while循环就比较好用了。比如下面这个例子:

1
2
3
4
5
6
x = 0
while True:
if x == 5:
break
print (x)
x +=1

运行结果如下:

1
2
3
4
5
0
1
2
3
4

但这个程序有一个问题,就是如果一直找不到我们所要的结果,程序会一直运行下去。它不会自动终止,所以会一直耗用我们电脑的内存。如果我们想要终止这个无限循环的程序,我们可以按Ctr + c来跳出程序。


您的支持将鼓励我继续创作