前面我们讲过了Python中的循环语句有两种:while循环和for循环。Python语言可以允许在一个循环体内嵌套另一个循环体。
比如:在while循环中可以嵌套for循环;也可以在for循环中嵌套while循环;当然for循环中也可以嵌套另一个for循环,下面以两个例子来示范:
1、九九乘法表的实现:
# 外层循环
for i in range(1,10):
# 内层循环
for j in range(1,i+1):
print(i,”*”,j,”=”,i*j,”\t”,end=””)
print(“”)
输出结果可以看到:
上面的例子中用到了for循环下面还有另一个for循环,实现九九乘法的矩阵。
2、索引50以内的所有质数:
# 导入math模块
import math
i=2
# 外层循环
while i<50:
j=2
# 内层循环
while j<=math.sqrt(i):
if i%j==0:
break
j+=1
if j>math.sqrt(i):
print(i,”是素数”)
i+=1
print(“Over”)
这里先给大家回忆下质数的含义:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,也就是需要用到取模运算%。
这个例子中在while循环中再嵌套一个while循环,实现位置索引。此例中用到了math模块下的math.sqrt()这个函数,用于快速识别质数(当判断i是不是质数时,理论上需要从2开始一直判断到i,但是实际上只需要判断到√i)。
上面两个例子基本上将循环的嵌套使用展现出来了,要想熟练使用嵌套循环,以下两点需要谨记:
循环嵌套时,外层循环和内层循环间是包含关系,也就是内层循环必须被完全包含在外层循环中。
当程序中出现循环嵌套时,程序每执行一次外层循环,其内层循环必须循环所有的次数(即内层循环结束)后,才能进入到外层循环的下一次循环。