16.Python从入门到精通—循环控制流程详讲
range() 函数
在Python中,range()函数用于生成一个指定范围内的数字序列,常用于for循环中。
range()函数的基本语法如下:
range(start, stop, step)
其中,start表示数字序列的起始值,默认为0;stop表示数字序列的结束值(不包括该值);step表示数字序列的步长,默认为1。
下面是一些使用range()函数的例子:
# 生成一个包含5个数字的序列:0, 1, 2, 3, 4
nums = range(5)
for num in nums:
print(num)
# 生成一个包含10个数字的序列:1, 3, 5, 7, 9, 11, 13, 15, 17, 19
nums = range(1, 20, 2)
for num in nums:
print(num)
- 在第一个例子中,我们使用range()函数生成一个包含5个数字的序列,然后使用for循环遍历这个序列中的每个数字,并打印出数字的值。
- 在第二个例子中,我们使用range()函数生成一个包含10个数字的序列,起始值为1,结束值为20,步长为2,即生成的序列为1, 3, 5,7, 9, 11, 13, 15, 17, 19。同样地,我们使用for循环遍历这个序列中的每个数字,并打印出数字的值。
需要注意的是,range()函数生成的数字序列不包括结束值,即生成的数字序列为[start, stop)。
break 和 continue 语句及循环中的 else 子句
在Python中,break和continue是两个控制循环流程的关键字,而循环中的else子句则可以在循环结束时执行一些操作。
break语句
break语句可以用于终止循环,即使循环条件没有变为False或序列已经被完全迭代。当在循环中执行break语句时,循环会立即停止,然后程序会继续执行循环之后的代码。
以下是一个使用break语句的示例:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
break
print(num)
print('Loop ended')
输出结果为:
1
2
Loop ended
在这个例子中,for循环遍历列表numbers中的所有元素,并打印出每个元素的值。当num等于3时,执行break语句,循环立即停止。因此,数字4和5没有被打印。最后,程序执行了print语句,打印出"Loopended"。
continue语句
continue语句可以用于跳过循环中的某些代码,然后继续执行下一次循环。当在循环中执行continue语句时,循环会跳过当前迭代,然后继续执行下一次迭代。
以下是一个使用continue语句的示例:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
print('Loop ended')
输出结果为:
1
2
4
5
Loop ended
在这个例子中,for循环遍历列表numbers中的所有元素,并打印出每个元素的值。当num等于3时,执行continue语句,跳过当前迭代,然后继续执行下一次迭代。因此,数字3没有被打印。最后,程序执行了print语句,打印出"Loopended"。
循环中的else子句
在Python中,循环中的else子句可以在循环结束时执行一些操作。当循环正常结束时,else子句中的代码会被执行。如果在循环中执行了break语句,则else子句中的代码不会被执行。
以下是一个使用循环中的else子句的示例
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
else:
print('Loop ended normally')
numbers = []
for num in numbers:
print(num)
else:
print('Loop ended normally')
输出结果为:
1
2
3
4
5
Loop ended normally
Loop ended normally
在这个例子中,第一个for循环遍历了列表numbers中的所有元素,并打印出每个元素的值。当循环正常结束时,else子句中的代码会被执行,打印出"Loopended normally"。第二个for循环没有遍历任何元素,因此else子句中的代码也会被执行,打印出"Loop ended
normally"。
pass 语句
在Python中,pass语句是一个空语句,什么也不做,只是为了占位。pass语句通常用于语法上需要语句的地方,但程序不需要执行任何操作的情况下,例如在一个if语句或函数定义中,如果暂时没有想好具体实现,可以使用pass语句占位。
下面是一个使用pass语句的例子:
if x > 0:
# do something
else:
pass
在这个例子中,如果x大于0,程序会执行if语句中的代码,否则执行else语句中的代码,但是由于else语句中暂时没有想好具体实现,所以我们使用pass语句占位。
需要注意的是,pass语句不能省略,否则会导致语法错误。