for循环

for…in…循环语句

for i in [1,2,3,4,5]:
   print(i)

终端上将依次出现列表里的所有数字

分析

for i in [1,2,3,4,5]:  #i是“空房间”
   print(i)

空房间的学名叫【元素】(item),你可以把它当成是一个变量。那么首先,我们需要给房间取一个名字,也就是“变量名”。变量名i不是必须,可以改为其他名字:

for i in [1,2]:
    print(i)

for number in [1,2]:
    print(number)

for LOVE in [1,2]:
    print(LOVE)

for循环:一群排队办业务的人

以列表的形式出现:[1,2,3,4,5]

同时,字典、字符串也是

dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:
    print(i)

我们用print(i)把“空房间”i打印了出来,发现i会逐个接待字典中的每一个【键】

字符串也属于“一群排队办业务的人”:

for i in '吴宗宪':
    print(i)

而整数、浮点数是不属于“一群排队办业务的人”的,如果把它们放在for循环里,代码会报错。


现在我们理解了:列表,字典,字符串都可以是“一群排队办业务的人”。

for i in [1,2,3,4,5]:  
   print(i)

还是这段代码,代码的运行结果你应该已经了然于心,是1,2,3,4,5依次出现。也就是说,当这一群排队的人依次序走进空房间,每个人都会把业务办完。

这个过程,在Python中的学名就叫做【遍历】。

除了列表,字典,字符串三种数据类型,我们还可以遍历其他的数据集合。比如和for循环常常一起搭配使用的:range() 函数。

range()函数

for i in range(3):
    print(i)

运行后,你看到了整数0,1,2,是不是?使用range(x)函数,就可以生成一个从0到x-1的整数序列。

它还有更多用法,再来看这段代码:

for i in range(13,17):
    print(i)

使用range(a,b) 函数,你可以生成了一个【取头不取尾】的整数序列。

再或者:

for i in range(3):
    print('我很棒')

像这样,有了range()函数之后,当你想把一段代码固定重复n次时,就可以直接使用for i in range(n)解决问题。

组合练习:

for i in range(11):
    print('在这里写'+str(i)+'个音符')

range()函数还有一种用法:

for i in range(0,10,3):
    print(i)

这里range(0,10,3)的意思是:从0数到9(取头不取尾),数数的间隔为3。

解释:
range(a,b,c)
a 计数从a开始,不填时默认从0开始
b 计数到b结束,但不包括b
c 计数的间隔,不填时默认为1

示例:

用for循环完成1到100的整数分别乘以5的计算,并打印出来

for i in range(1,101):
    print(i*5)

for循环:办事流程(接上面代码)

在这里流程很简单,都是print(i*5)。然后在i=1的情况下,执行一遍流程;在i=2的情况下,再执行一遍流程……一直执行到i=5,也就把这群人的事情全部办完了:

“办事流程”的学名是【for子句】。格式是【冒号】后另起一行,【缩进】写命令。

举栗,采购大作战:

d = {'小明':'主板','小红':'CPU','小白':'内存','小张':'风扇'}

for i in d:
    print(d[i])

以上为for循环内容