循环

Python 中的循环语句有forwhile两种。需要注意的是 python 中没有do...while循环。

while循环

while 循环是前置真值条件循环,也就是说会先对判断条件进行求值,如果返回真值,则开始执行循环体内容;如果返回假值,则退出循环。while 的语句格式为:

while 判断条件:
    语句块

例如以下示例可以用于求和:

sum = 0
count = 1
while count <= 100:
    sum = sum + count
    count += 1

如果 while 的条件表达式值永远为True,则 while 就变成了一个无限循环,这在运行常驻服务以及 GUI 程序时十分有用。

while 语句可以附加一个 else 语句块,用以在判断条件为False时执行,其语句格式为:

while 判断条件:
    语句块
else:
    语句块

如果 while 中只有一条语句,则可以将其与 while 写在同一行中,但是 while 语句末尾的冒号不可省略。

for 语句

与其他语言中的 for 语句不同,Python 中的 for 语句用于遍历任意序列,如列表或者字符串。其语句格式为:

for 循环变量 in 序列:
    语句块
else:
    语句块

for 语句与 while 语句一样,也可以附加一个 else 语句块,这个 else 语句块是在序列为空,没有执行循环时执行的。

如果需要像其他语言一样循环遍历一个数字序列,可以使用range()定义一个数字序列,例如:

for i in range(5, 10):
    print(i)

range(n, m)会生成一个\( [n,m) \)的区间,如果加入第三个参数,即range(n, m, s)则可以定义序列增长的步进。

对于序列,可以使用函数enumerate(seq)来同时获取序列的索引和值,例如:

for index, value in enumerate(seq):
    pass

循环退出

breakcontinue语句提供了从循环中退出的功能,其中break会完全退出当前循环体,并且循环体附加的 else 语句块也不会执行。continue语句则是用于跳过循环块中剩余的语句并开始下一次循环的执行。