(共23张PPT)
2.3
周而复始的循环
教师:
了解循环的基本结构
学会计数循环的使用方法
学会条件循环的使用方法
熟练使用循环解决实际问题
1
3
4
2
学习目标
你不理财,财不理你
你知道哪些理财方法呢?
基金、股票、债券……
存银行
理财小秘诀
李华有一个存钱计划,第一周存10元,每周递增10元
第一周:0+10=10元
smoney=10元
第二周:10+10=20元
smoney=10+20=30元
第三周:20+10=30元
smoney=30+30=60元
……
第N周:……
一个月能攒下多少钱?
三个月能攒下多少钱?
一年能攒下多少钱?
第四周:30+10=40元
smoney=60+40=100元
i=1:week_money=
0
+10=10
smoney=10
i=2:week_money=10+10=20
smoney=10+20=30
i=3:week_money=20+10=30
smoney=30+30=60
i:周数
week_money:每周应存的钱
a:每周固定增加10元
smoney:存钱总额
week_money=week_money+a
#第i周应存的钱
smoney=smoney+week_money
#第i周存钱总额
思考:在这些式子中,有哪些部分是保持不变的?哪些部分是变化的?
三思而后行
开始
输入week_money=0,
a=10,smoney=0
输出smoney
结束
YES
NO
循环结构
李华三个月能存下多少钱?
分析问题,将流程图补充完整
i<=12
week_money=week_money+a
smoney=smoney+week_money
动手填一填
A
B
C
计算机程序中某些代码的反复执行。
又称while循环,用于循环次数未知的情况。
又称for循环,当循环一定次数时称为计数循环。
循环
计数循环
条件循环
循环
for
循环变量
in
列表:
语句或语句组
for
循环变量
in
range(
):
语句或语句组
注意事项:
冒号要记得
循环体缩进4格
计数循环
object=[“石榴”,1,“香蕉”,“橙子”,“梨子”]
print
(object)
[“石榴”,1,“香蕉”,“橙子”,“梨子”]
格式:列表名=[元素1,元素2,元素3……]
列表中可以包含多个元素,同时它是一个有序的集合。
列表
for
i
in
[“石榴”,1,“香蕉”,“橙子”,“梨子”]:
print(i)
#逐个输出列表元素
输出结果:
石榴
1
香蕉
橙子
梨子
列表
基本格式:range(start,
stop)
start:
计数从
start
开始,默认从
0
开始。
stop:
计数到
stop
结束,但不包括
stop。
range(1,6)——[1,2,3,4,5]
for
i
in
range(101):
print(i)
#输出0,1,2,3,…100的自然数
列表[0,1,2,3,4…100]
range(
)函数可以生成某个范围内的数字列表。
range(
)函数
range(5)——[0,1,2,3,4]
week_money=0
#当周存钱初始值
a=10
#每周递增10元
smoney=0
#存钱总额初始值
for
i
in
__________
:
#循环操作需要重复的次数
______________
#计算当周存钱
______________
#计算存钱总额print(“李华三个月总共能攒下”,smoney,“元”)
根据流程图,将活动一.py填写完整
range(1,13)
week_money=week_money+a
smoney=smoney+week_money
动手试一试
李华即将升入高三,他想用平日攒下的零花钱购入一套《五年高考三年模拟》,已知一套书价值500元,问李华需要存钱多久呢?
思考:和上一例题比较,差异在哪里?
循环次数未知!
要存多久?
条件循环一般用于循环次数未知的情况。
当关系表达式为真时保持循环,直到其为假时停止整个while循环。
循环体中必须有改变条件表达式值的语句,否则将会变成死循环。
while
关系表达式:
语句或语句组
#此行缩进4格
条件循环
例:
s=0
while
s<=30:
s=s+10
print(s)
运行结果:
10
20
30
40
输入s=0
s<=30
s=s+10
结束
输出s
开始
YES
NO
结束
条件循环
week_money=week_money+a
#第i周应存的钱
smoney=smoney+week_money
#第i周存钱总额
i=i+1
#表示周数增加
i:1、2、3、4……
i=1:week_money=
0
+10=10
smoney=10
i=2:week_money=10+10=20
smoney=10+20=30
i=3:week_money=20+10=30
smoney=30+30=60
三思而后行
开始
输入week_money=0,a=10,smoney=0,i=0
结束
YES
NO
smoney<500
i=i+1
smoney=smoney+week_money
week_money=week_money+a
输出i
①求时间i,
且每循环一次i+1
②结束循环的条件
smoney<500
动手填一填
根据流程图提示,将活动二.py补充完整
week_money=0
#当周存钱初始值
a=10
#每周固定递增10元
smoney=0
#存钱总额初始值
i=0
#时间初始值
while
__________:
#结束循环的条件
________
#计算时间i
________
#计算当周存钱的数额
________
#计算存钱总额
print(“李华需要存钱”,i,“周”)
#输出结果
smoney<500
i=i+1
smoney=smoney+week_money
week_money=week_money+a
动手试一试
调试器pdb
模块
例如
import
pdb
pdb.set_trace()
运行后”
p”命令查看变量
运行后”
c”命令继续运行
运行后”
q”命令退出程序
调试程序
周而复始的循环
计数循环
条件循环
列表
range函数
循环次数未知
已知循环次数
结合实际情况灵活运用
while
关系表达式:
语句或语句组
for
循环变量
in
range(
):
语句或语句组
for
循环变量
in
列表:
语句或语句组
小结
求和1+2+3+……+100=?
s=0
for
i
in
range(101):
s=s+i
print(s)
?
?
①for循环
②while循环
s=0
i=1
while
i<=100
:
s=s+i
#累加求和
i=i+1
#累加计数
print(s)
小试牛刀
for循环嵌套:尝试打印出九九乘法表
for
i
in
range(1,10):
for
j
in
range(1,10):
print("{0:1}
{1:1}={2:2}".format(j,i,j
i),end="
")
print(
)
拓展知识
好好学习
天天向上