循环语句
顾名思义,就是循环执行的程序。但是如果程序一直循环执行就成了死循环不会有结果,所以循环程序还需要一个合适的条件跳出循环。循环执行的程序称为循环体。
循环语句是由循环体和循环的终止条件两部分组成。
循环语句执行流程图如下:
Python的循环有两种:
第一种是while循环
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
简单的语句类似if语句的语法,如果while循环体中只有一条语句,可以将语句与while写在同一行中。
无限循环可以用CTRL+C来强制关闭。
当判断条件假false时,循环结束。
-
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)
在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
第二种 for 循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的语法格式如下:
-
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)
执行这段代码回一次打印出 names的每一个元素:
-
Michael Bob Tracy
for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
else
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
break
在循环语句中除了使用判断false终止循环以外也可以用 break 语句提前退出循环。
-
n = 1 while n <= 100: print(n) n = n + 1 print('END')
上面的代码可以打印出1~100。
如果要提前结束循环,可以用break语句:
-
n = 1 while n <= 100: if n > 10: # 当n = 11时,条件满足,执行break语句 break # break语句会结束当前循环 print(n) n = n + 1 print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
continue
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
-
n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶数,执行continue语句 continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行 print(n)
执行上面的代码打印的是1,3,5,7,9
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句
pass 语句
Python 中pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句
range()函数
range()函数,可以生成一个整数序列。再通过list()函数可以转换为list。
比如range(5)生成的序列是从0开始小于5的整数:
-
>>>list(range(5)) [0, 1, 2, 3, 4]
循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。
Python for 循环嵌套语法:
-
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
Python while 循环嵌套语法:
-
while expression: while expression: statement(s) statement(s)
可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,可以在for循环中嵌入
while循环。
无论是pass、continue还是break,其作用范围均为其所在的循环体内