在生活中,有很多循环的例子。
比如,这个人在不停地浇花

比如,一年四季不断更替
绿色环保,循环利用就是用下面这个图标,一目了然。
在生活中,循环就是连续不断地做同一类事的过程。
在编程中,循环就是反复执行某些代码的一种计算机处理过程。
Python编程中有两种循环
for循环:固定次数的循环或遍历循环
while循环:条件循环
本篇介绍for循环。
解释一下:
在晚清词人袁荣法的《满江红》词序中,就有“游旧京故宫,遍历三殿”的说法,意思是他游览北京的故宫,一间一间地走遍了三大殿。
这个过程,就是“遍历”。
常见的遍历结构有列表、字典、元组、字符串、range()函数、文件等。
我们已经学习过字符串,比如"hello"就是一个遍历结构。
下面我们来看看
for i in "hello"
print(i)
运行结果:
h
e
l
l
o
i是循环变量,它就是一个变量,也是按照变量的命名规则来命名,和前面学习过的变量一样,只是现在用在循环结构里,所以叫循环变量。
可以这样理解:i就是一个快递员,往返地奔走在遍历结构中,每次取一个字符,然后去做语句print(i)
正是因为循环变量不停地遍历访问遍历结构,从第一个元素访问到最后一个元素,所以循环的次数就是遍历结构中元素的个数。
所以,for循环又被称为遍历循环。
思考:整数3,浮点数3.5 是不是遍历结构?
不是。遍历结构一定是可以多次被访问的结构。
再来看几个例子,帮你加深理解:
需要说明的是:在for循环中,缩进和冒号不能少,缩进代表层次和从属关系。
想一想,下面两组语句有哪些不同,为什么运行结果不一样?
语句1的循环体有两个语句,都参与了循环
语句2的循环体只有一个语句print(i),只有它参与了循环,循环结束后再执行语句print('-')
range()函数用得非常多。
你想想,既然for循环的次数跟遍历结构中的个数有关,暂时我们只学到了字符串,如果你用字符串当遍历结构,要循环500次,岂不是要用一个含有500个字符的字符串?
几乎不可能。哪怕是循环30次,也不太可能。
这就需要用到range()函数了。
range 的英文原意是 “范围”或 “区间”。
range() 是 Python 里的一个内置函数,用来生成一个整数范围的序列。
可以理解为“把数字排成一排”。 它就像军训时教官喊‘报数’一样。
1、range(n):从0开始报数,报到 n 结束
range(5):教官喊“报到5”,学生就报出 0, 1, 2, 3, 4(注意:从0开始)。
2、range(start, stop):从 start 开始报数,报到 stop 结束
range(2, 6):教官说“从2号开始,报到6”,学生就报出 2, 3, 4, 5。
3、range(start, stop, step):从 start 开始,隔着step报,step默认为1
range(1, 10, 2):教官说“从1开始,隔一个报一个,报到10”,学生就报出 1, 3, 5, 7, 9。”
发现没有,学生总是有些调皮,永远不会报到最后一个数
range(5) 永远不会报到 5,range(2, 6) 永远不会报到 6。
这就是 range() 的“左闭右开”原则:包含左边(起始),不包含右边(结束)。
初学者是最容易在这里翻跟头的。
补充特殊用法
4、range(start, stop, -1):倒着数
range(5, 0, -1):教官说“从5开始,报到0,倒着报”,学生就报出5, 4, 3, 2, 1
举例1:绘制正三角形
举例2:绘制五角星
举例3:自己尝试用for循环绘制正方形、正五边形、正六边形 ……
举例4:在绘制正三角形的基础上,细微调整,可以千变万化
举例4:在绘制正方形的基础上,也可以千变万化
举例5:在绘制圆的基础上,也可以千变万化