循环结构:
Python语言的循环结构包括两种:遍历循环和无限循环。
遍历循环使用保留字for依次提取遍历结构各元素进行处理;
无限循环使用保留字while根据判断条件执行程序。
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
for <循环变量> in <遍历结构>:
<语句块>
遍历结构可以是字符串、文件、range()函数或组合数据类型等。
【例1】输入以下for 代码。

这两行代码展示:使用for 循环打印出“Hello world”字符串中的每一个字符。
为更深入了解for循环,思考如何打印出以下的结果:

这需要用到一个内置函数:range。 我们只需要在range(x)函数的括号中填入数字,就可以得到连续的整数序列,输入代码:

这段代码表示:将1-10范围内的每一个数字依次装入变量num中,每次展示一个num+1的结果。在这个过程中,变量num被循环赋值10次,你可以理解为等同于以下代码:

【例】编程实现九九乘法表

无限循环: while
Python通过保留字while实现无限循环
while <条件>:
<语句块>
当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。
>>>n = 0 >>>while n < 10: print(n) n = n + 3 0 3 6 9 |
无限循环也有一种使用保留字else的扩展模式,使用方法如下:
while <条件>:
<语句块1>
else:
<语句块2>
在这种扩展模式中,当while循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。
|
|
1 2 3 4 5 6 7 | s, idx = "PY", 0 while idx < len(s): print("循环执行中: " + s[idx]) idx += 1 else: s = "循环正常结束" print(s) |
|
|
运行:
>>> 循环执行中: P 循环执行中: Y 循环正常结束 |
循环控制: break和continue
循环结构有两个辅助循环控制的保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后代码继续执行。
|
|
1 2 3 4 5 6 | while True: s = input("请输入一个名字(按Q退出): ") if s == "Q": break print("输入的名字是:", s) print("程序退出") |
|
|
运行:
>>> 请输入一个名字(按Q退出): 毛泽东 输入的名字是: 毛泽东 请输入一个名字(按Q退出): 邓小平 输入的名字是: 邓小平 请输入一个名字(按Q退出): Q 程序退出 |
如果有2层或多层循环,break退出最内层循环。
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
|
|
1 2 3 4 | for s in "PYTHON": if s == "Y" or s == "Y": continue print(s, end="") |
|
|
运行:
continue语句和break语句的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。