一、while 循环
while 循环 的语义是当满足某条件时,就一直做某事,我们来看一下图解:
i = 0
while i < 3:
print(i)
i = i + 1
while 循环由 循环条件 和 循环体 两部分组成。循环条件是个布尔值,每次循环都会进行判断,当满足循环条件时(值为 True) 执行循环,否则结束循环。循环体内则是那些需要重复的操作。
二、for 循环
除了 while 循环 外,Python 中还有一种更常用的循环——for 循环。
和 while 循环 相比,for 循环 同样有循环体和缩进。不同的是,for 循环 没有循环条件,而是通过 for ... in ... 的语法进行循环。循环的次数是 in 后面可循环序列的元素个数,每次循环,i 的值依次为可循环序列中元素的值,所以 i 的值依次为 0、1、2。
这里的变量名为 i 是因为 i 是常用名,就像数学中常用 x 、y 作为未知数一样,其实随便取什么变量名都可以。
for 循环 的特性——依次遍历循环序列中的元素([0, 1, 2]),并依次赋值给变量(i),最后执行统一的处理(print(i + 1))。
Tips:遍历 在计算机中指沿着某条路线,依次对序列中每个元素均做一次且仅做一次访问。
三、循环序列字符串、列表、元组等都属于 循环序列。我们来看几个例子对比一下:
for i in [‘扇‘, ‘贝‘, ‘编‘, ‘程‘]:
print(i)
# 逐行输出:扇 贝 编 程
for i in (‘扇‘, ‘贝‘, ‘编‘, ‘程‘):
print(i)
# 逐行输出:扇 贝 编 程
# 字符串是一堆字符的序列,也属于循环序列
for i in ‘扇贝编程‘:
print(i)
# 逐行输出:扇 贝 编 程
# 整数不是循环序列
for i in 123:
print(i)
# 报错:TypeError: ‘int‘ object is not iterable
四、列表生成式列表生成式 是 Python 中用来快速生成想要的列表的一种简便方式。同样的功能,使用列表生成式只需要一行代码:
y = [x * x for x in range(1, 11)]
列表生成式 时,把要生成的元素 x * x(这个表达式可以自定义)放到前面,后面加一个 for 循环,就可以快速生成我们期望的列表,十分简便。
我们甚至还可以在 for ... in … 后加上条件判断:
# 筛选出奇数的平方
y = [x * x for x in range(1, 11) if x % 2 == 1]
# 输出:[1, 9, 25, 49, 81]
五、break 语句
break 语句用于结束循环,常和条件判断一起使用,在特定条件下结束循环。
在 while 循环 和 for 循环 里分别这样写:
# while 循环
i = 0
while i < 5:
i = i + 1
if i == 3:
break # 注意此处有缩进
print(i)
print(‘循环结束‘)
# 逐行输出:1 2 循环结束
# for 循环
for i in range(5):
i = i + 1
if i == 3:
break # 注意此处有缩进
print(i)
print(‘循环结束‘)
# 逐行输出:1 2 循环结束
六、continue 语句
continue 语句用于跳过当前循环,常和条件判断一起使用,在特定情况下跳过当前循环体中的剩余语句,继续进行下一轮循环。
在 while 循环 和 for 循环 里分别这样写:
# while 循环
i = 0
while i < 5:
i = i + 1
if i == 3:
continue # 注意此处有缩进
print(i)
print(‘循环结束‘)
# 逐行输出:1 2 4 5 循环结束
# for 循环
for i in range(5):
i = i + 1
if i == 3:
continue # 注意此处有缩进
print(i)
print(‘循环结束‘)
# 逐行输出:1 2 4 5 循环结束
continue 语句在 while 循环 里和 for 循环 里的作用一样,都是用于跳过当前循环体中的剩余语句,继续进行下一轮循环。continue 语句只是跳过当前循环,和 break 语句不一样。所以不能跳出 “死循环”。
原文地址:https://www.cnblogs.com/free-1124/p/11332494.html
时间: 2024-10-23 00:06:54