循环语句是在一定条件下反复执行某段程序的流程结构,循环语句是由循环体及循环的终止条件两部分组成的。被反复执行的程序称为循环体。能否继续重复,取决于循环的终止条件。
Python中的循环语句有两种:while循环和for循环。下面就分别介绍这两种循环。
Python中while循环的基本语法格式如下。
while 判断条件: 语句
使用while循环时必须注意冒号和缩进。
【实例4-2】计算1到100的总和。
n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1到%d之和为:%d"% (n, sum))
在上面这段程序中,使用while循环判断累加数值是否超过100,如果没有超过100,继续循环,否则退出循环,显示最终的结果。程序运行结果如下图所示。
for循环可以遍历任何序列的项目,如前面介绍的一个列表或一个字符串。
for循环的一般格式如下。
for <variable> in <sequence>: <statements> else: <statements>
其中sequence表示一个序列,可以是列表或字符串。
【实例4-3】序列的循环使用。
country=["China", "American", "France", "England", "Russian"] for x in country: print(x)
在上面程序中,首先定义了一个序列,序列中是几个国家的名称,其次在for循环中遍历该序列中的每个值并显示。程序运行结果如下图所示。
在循环体中,也可以使用break和continue语句,其中break语句可以跳出for或while的循环体。continue语句被用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
此外,for或while循环与条件语句可以相互嵌套。
【实例4-4】循环语句中含有条件语句。
for letter in 'Hello, Python! ': if letter=='! ': break print ("现在显示的字母是:", letter)
在上面的程序中,for循环中遍历每一个字符串,每次从字符串中取一个字符,然后在循环体中判断每次取的字符串中的字符是否为“! ”,如果不是“! ”,则显示这个字符,否则,退出循环体。程序运行结果如下图所示。
下面再看一个稍微复杂一些的实例:
【实例4-5】使用了嵌套循环输出2~10的素数。
i = 2 while(i < 10): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print (i, " 是素数") i = i + 1
上面的程序使用了两层循环,在外层循环中判断数值是否小于10,如果超过10就退出循环,小于10则继续进入内层循环,在内层循环中判断是否为素数,如果不符合条件,直接退出内层循环,继续执行外层循环的内容。程序运行结果如下图所示。
【实例4-6】输出9×9的乘法口诀表。
分析:这个程序使用两层循环,外层变量为1~9,内层变量依赖于外层变量。详细代码如下。
for i in range(1,10): for j in range(1, i+1): print("""%d*%d=%d""" % (i, j, i*j), end=" ") print()
上面这个程序同样使用了循环嵌套,外层循环判断数值是否为1~9,内层循环计算对应数值的乘法口诀,内层变量依赖于外层变量,同时显示计算结果,在外层循环中使用print()函数表示换行操作。程序运行结果如下图所示。