七天学会Python编程 -- 第四章 循环遍历

4.1 for … in …

现在到了循环指令时间,在 Python 中用得最多的循环指令应该是 for … in …,先看一段代码:

1
2
3
4
list1 = [10, 20, 30]

for a in list1:
print(a)

上面就是一个典型的 for … in … 循环,list1 是定义了一个列表,里面有几个数值,for a in list1: 表示遍历列表 list1 中的每个数值,每次遍历都把数值赋给变量 a,后面的冒号 : 也是跟 if 指令类似,定义一段属于 for 循环的程序段,用缩进的方式,这个程序段会在每次遍历时执行。这里我们是每次遍历都打印一下变量 a 的值,也就是打印列表中的每个值。

可能听起来有些困难,其实很好理解:list1是一筐水果,里面有苹果、梨、香蕉……现在工作人员要来检查水果,于是把水果,也就是list1中的数据一个个拿出。先检查了苹果,苹果经过检查,发现很新鲜,工作人员把苹果的情况新鲜记录了下来 ……以此类推,全部水果都这样被检查了。检查每个水果时 a 就代表那个水果。

下面来个稍复杂的例子:

1
2
3
4
5
list1 = [10, 20, 30]

for a in list1:
b = a * 2
print(b)

这是改变了一下 for 循环里的程序段的代码,是把列表中每个数值先乘以2,然后再打印出来。要多理解一下冒号后面的缩进的含义。

4.2 while

while 是另一种比较常见的循环指令,先看个例子:

1
2
3
4
5
a = 10

while a > 0:
print(a)
a = a - 1

这段代码是打印从10到1,先定义一个变量 a,赋值为 10,然后 while a > 0: 是开始 while 循环,a > 0 是类似 if 指令中的判断条件,意思是只要符合 a > 0 条件就会运行下面的循环程序块。

然后也是用缩进的方式定义了循环程序块,这个程序块中先用 print(a) 打印出当前 a 变量的值,然后用 a = a - 1 的方式把 a 的数值减去 1,例如第一次循环时 a 是 10,执行了 a = a - 1 后 a 变为 9,第二次循环 a 会从 9 变为 8,依次下去,知道 a 变为 0,这时候就不满足 while 循环的 a > 0 条件了,就不会再运行 while 程序块里面的代码了。

4.3 实践练习时间

过去章节我们学习了两种常用的循环指令,下面通过几个实践练习来加深理解。

练习1:

定义一个列表,里面保存这几个姓名:Mary、Tom、John,然后用 for … in … 指令循环打印出来。

练习2:

定义一个数字,赋值为 1,然后用 while 不断加1,并循环打印从1到100这些数字。

练习3:

思考一下,怎样用 for … in … 的方式实现练习2?

可以上网搜索一下相关资料,有一点要注意,构建一个从1到100的列表是有函数的,不要自己在程序代码里手工输入100个数字。