python初体验-循环

一、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 是常用名,就像数学中常用 xy 作为未知数一样,其实随便取什么变量名都可以。

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 语句不一样。所以不能跳出 “死循环”
 
 

猜你喜欢

转载自www.cnblogs.com/free-1124/p/11332494.html