内容正文:
4.4
运用循环结构描述问题求解过程
目
录
For循环的应用
While循环的应用
循环嵌套的应用
循环控制的应用
4.4.1
4.4.2
4.4.3
4.4.4
2
4.3运用选择结构描述问题求解过程
复习回顾
PART ONE
1
2
3
课本P83实践
4
01
4.4.1 for循环的应用
5
地球自转
水循环
for 循环语句的一般格式
for 循环变量 in 列表:
语句1
语句2
语句3
……
微课https://www.bilibili.com/video/BV1ot4y1Q7vW
遍历
7
Step 1
Step 2
Step 3
遍历
for语句通过遍历序列中的元素实现循环,序列中的元素会被依次赋值给变量,然后执行一次循环体,当序列中的元素全部遍历完时,程序会自动退出循环。
for 循环变量 in 列表:
语句1
语句2
语句3
……
遍历
编程单独输出列表中的每个数
a_list=[1,2,3,4,5,6]
a_list=[1,2,3,4,5,6]
print(a_list[0])
print(a_list[1])
print(a_list[2])
print(a_list[3])
print(a_list[4])
print(a_list[5])
a_list=[1,2,3,4,5,6]
for i in a_list:
print(i)
range()函数
range()函数是让Python从指定的第一支开始数,并在到达所指的第二个值后停止,因此不包含第二个值。
range([start],[stop],[step]),若没有步长值,默认为1
问题
假如项目小组经过讨论,决定先网购单价为1元至10元的十种笔记本各1本,且每一种只买1本,那么该如何编程计算一共要花多少元?
这个问题相当于要计算从1到10的累加值。1到10的累加就是计算1+2+…+10,可以用for循环结构编程来解决这个问题。
分析问题
设计算法
根据上述分析,可设计如下算法:需要有一个循环变量从1变化到10,将该变量命名为i;还需要另外一个临时变量不断和该变量进行加法运算,并记录运算结果,将临时变量命名为sum,变量i每增加1时,就和变量sum进行一次加法运算,变量sum记录的是累加的结果。
编写程序
sum=0
for i in range(1,11):
sum=sum+i
print(sum)
sum+=i
13
02
4.4.2 while循环的应用
while循环/条件循环
while循环是当型循环,即将while翻译为“当……时”,只要条件满足,就不断循环;否则,跳出循环。
格式
while 表达式:
语句1
语句2
语句3
……
每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦为假就跳出循环,为真时继续执行循环体语句。
循环体中必须有改变条件表达式值的语句,否则将变成死循环
一般是一个关系表达式或一个逻辑表达式,值为True或False
视频https://www.bilibili.com/video/BV1Ki4y1V7vS
死循环:当表达式值一直为True时,陷入死循环
死循环
视频:https://www.bilibili.com/video/BV1uT4y1E7Dj
问题1
用while循环输出5到10的所有数值
编写程序:
i=5
while i<=10:
print(i)
i=i+1
i=5
i<=10?
输出i
i=i+1
结束
Y
N
17
问题2
项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募集20元,向第二个赞助人募集25元……后一个比前一个多募集5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?
赞助人数num
个人捐赠money
累计募集sum
sum=20+25+30+……
即:当sum>500时,求num的值
分析问题
18
设计算法
开始
num=1
money=20
sum=20
num=num+1
money=money+5
sum=sum+money
如果sum<=500,则返回步骤④
输出num+1的值
结束
编写程序
num=1 #募捐人数
money=20 #个人捐赠钱数
sum=20 #累积募捐
while sum<=500: #当不超过500时
num=num+1
money=money+5 #money+=5
sum=sum+money #sum+=money
print(nu