4.1 Python中的循环语句
Contents
14. 4.1 Python中的循环语句#
Python程序一般情况下都是按顺序执行的,然而程序中经常会遇到一些程序段需要反复执行多次,或者需要一直执行永不结束,这时候就需要更加复杂的程序执行路径,循环语句允许我们执行一个语句或语句组多次,下面是Python语言中的循环代码。
14.1. While 循环语句#
while循环为MicroPython中最常用的一个循环语句,执行流程图如下:
while语句的用法是在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句……
else :
执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
具体使用方法示例如下:
count = 0
while (count < 9): #如果变量count小于9则执行以下代码
display.show(count) #输出count的值
count = count + 1 #count加1
else:
display.scroll("goodbye", delay=400) #输出good bye
#else可以简写省略,代码也可以写成如下:
count = 0
while (count < 9): #如果变量count小于9则执行以下代码
display.show(count) #输出count的值
count = count + 1 #count加1
#如果count值大于等于9则执行以下代码
display.scroll("goodbye", delay=400) #输出good bye
在MicroPython中,while循环语句最常用的方法为设置一个永真循环,一直运行某一段代码。例如:
while True: #循环判断语句设为真,即为永久循环
display.show(count)
温馨提示: Python中代码执行严格对齐,例如while语句下要执行的代码需严格缩进一个Tab键。
14.2. for 循环语句#
for语句是Python中经常用于控制循环和使用循环变量的循环语句。执行流程图如下:
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。其基本形式为:
for 变量 in 列表:
执行语句
for循环的条件为变量遍历列表,当列表遍历结束循环结束。
具体使用方法示例如下:
for letter in 'Python': #遍历字符串‘Python’
print '当前字母 :', letter #letter会循环赋值为‘P’‘y’‘t’‘h’‘o’‘n’
fruits = ['banana', 'apple', 'mango'] #定义一个列表
for fruit in fruits: #fruit会被循环赋值为‘banana’‘apple’‘mango’
print '当前水果 :', fruit
range 函数#
不管在什么计算机语言中for循环最经典的使用案例都是,冒泡排序,即将一个大小不同无序排列的列表,排序成一个有序的列表,而要完成这个功能需要使用到range()函数。
range()函数用法:
range(start, stop, step)
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
示例代码如下:
range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
当我们理解了range()函数如何使用后再来看下冒泡排序的经典代码:
arays = [1, 8, 2, 6, 3, 9, 4]
for i in range(len(arays)):
for j in range(i+1):
if arays[i] < arays[j]: # 判断语句
arays[i], arays[j] = arays[j], arays[i] # 实现两个变量的互换
# arays的值变为[1, 2, 3, 6, 8, 9]
14.3. 循环嵌套及控制语句#
Python 语言允许在一个循环体里面嵌入另一个循环,每一个循环体中都可以嵌套,在冒泡排序中,就是两个for循环嵌套排序,你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环。
#for循环嵌套for循环
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
#while循环嵌套while循环
while expression:
while expression:
statement(s)
statement(s)
#while循环嵌套for循环
while expression:
for iterating_var in sequence:
statements(s)
statements(s)
break语句#
break语句用来终止循环语句,打破了最小封闭for或while循环。即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
for letter in 'Python':
if letter == 'h': # 当letter 等于 h字符的时候
break # 结束循环
print '当前字母 :', letter
#输出结果为‘p’‘y’‘t’,h字符后因循环结束不输出。
continue 语句#
continue 语句跳出本次循环,用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环,与其相似的break是跳出整个循环。
for letter in 'Python':
if letter == 'h': # 当letter等于 h 字符的时候
continue # 跳过当前循环
print '当前字母 :', letter
#输出结果为‘p’‘y’‘t’‘o’‘n’,h字符因循环被跳过不输出
pass 语句#
Python pass是空语句,pass 不做任何事情,一般为了保持代码的完整性,以及提高可读性,当做占位语句。