第三章 程序控制结构-4
4 循环结构
- 在程序设计过程中,经常需要将一些代码按照要求重复多次执行,这时就需要用到循环结构
- Python有两种类型的循环语句,分别是for循环和while循环。
- for循环为确定次数的循环,也称“遍历循环”,循环次数采用遍历结构中的元素个数来体现
- while循环为非确定或确定次数的循环,通过条件判断是否继续执行循环体
4.2 for循环
for循环是遍历循环,特别适用于循环次数确定的情况
for <循环变量> in <序列对象>:
<循环体(语句块)>
功能
- 从遍历的序列对象结构中逐一提取元素,作 为循环变量,对于每个提取的元素执行一次循环体语句块
- 遍历的序列结构可以是字符串、元组、列表、文件、range()函数返回的可迭代对象等
- <循环变量>用于控制循环次数,也可以参与到循环体中
【例4-5】字符串的遍历 ——循环访问字符串中的每个字符
要求:编写程序,输出字符串"PythonStudy"中的每个字符,并用空格分隔,即输出P y t h o n S t u d y
#例4-5
#E4-5.py
for i in "PythonStudy":
print(i,end=‘ ’) # 单引号内是空格字符
程序运行结果
P y t h o n S t u d y
其他如:列表、元组、字典、集合、文件等的遍历将在后续章节介绍
※range( )函数在for 循环中的应用
- range( )函数一般格式为:
range([start,]end[,step])
- range( ) 函数返回的是可迭代对象 ,也就是生成一个从start值开始,到end值结束(但不包括end)的数字序列。在for循环中的作用是通过该函数可以控制循环的次数
- 如:range(1,10,2) ,range(1,10),range(10)
- start:表示计数的开始, 若省略默认值是0
- end:表示计数的结束,但不包括end ,如range(3)表示计数范围是0,1,2
- step:表示步长,若省略默认值是1,如range(0,3)相当于range(0,3,1)
【例4-6】改写【例4-1】程序,循环输出数值1到5
#例4-1
#E4-1.py
#用顺序结构
print(1)
print(2)
print(3)
print(4)
print(5)
#例4-1
#E4-1.py
#用while循环结构
i=1
while i<=5:
print(i)
i+=1
#例4-6
#E4-6.py
#用for循环结构
for i in range(1,6):
print(i)
#思考:print(i,end=‘ ‘)
注意体会
# 循环变量=初值
while 循环变量<=终值:
循环体
循环变量+=递增值
i=1
while i<=5:
print(i)
i+=1
for 循环变量 in range(初值,终值,递增值):
循环体(语句块)
for i in range(1,6):
print(i)
【例4-7】改写【例4-2】程序,求1+2+3+…..+100的和
#例4-2
#E4-2.py
i=1
s=0
while i<=100:
s=s+i
i=i+1
print(“s=”,s)
#例4-7
#E4-7.py
s=0
for i in range(1,101):
s += i #或s=s+i
print(“s=",s)
【例4-8】使用turtle库绘制红色五角星图形,效果如图所示,五角星非相邻两个顶点间的距离为200
分析:
- 绘制过程以S为起始点绘制直线,长度为200,此时到达五角星的另外一个顶点
- 然后向右转144°,再继续绘制直线,长度为200
- 如此反复5次,最终绘制出五角星
- 绘制顺序如图中箭头方向所示
#E4-8.py
from turtle import *
setup(400,400) #设置窗体大小
penup()
goto(-100,50) #设置绘制起点
pendown()
pencolor(“red”);fillcolor("red")
begin_fill()
for i in range(5):
forward(200)
right(144)
end_fill()
hideturtle()
有趣的图形1
# E1-8.py
from turtle import *
for x in range(100):
forward(x)
left(90)
reset()
for x in range(200):
forward(x)
left(91)
有趣的图形2
#E1-9.py
from turtle import *
bgcolor("black")
pensize(3)
pencolor("red")
for x in range(100):
circle(x)
left(91)
课后作业
1.新建程序文件“姓名-4-1.py”,用for循环编写程序绘制边长为100的正方形。
2.新建程序文件 “姓名-4-2.py”,用for循环编写程序,输出500内所有能被7或9整除的自然数
3.讨论:读程序并上机调试,将本程序的含义写在答题处,并将程序及程序的运行结果截图上传
网友评论