循环
Python 中的循环语句有for
和while
两种。需要注意的是 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
循环退出
break
和continue
语句提供了从循环中退出的功能,其中break
会完全退出当前循环体,并且循环体附加的 else
语句块也不会执行。continue
语句则是用于跳过循环块中剩余的语句并开始下一次循环的执行。