(共18张PPT)
必修 1 数 据 与 计 算
2.3 周而复始的循环
CONTENTS
目录
01
计数循环
02
条件循环
03
课堂练习
04
课堂小结
教科版(2019版) 信息技术(高中)
计数循环(for)
循环重复次数一定时,我们通常称为计数循环。
在python中,使用for 语句来创建这类循环。
for 循环变量 in 列表 :
语句或语句组
for语句的基本格式如下:
for 循环小试
for i in [“hello”,“world”]:
print (i)
for i in range (101) :
print (i)
hello
world
第 1 题
第 2 题
执行程序
执行程序
0
1
2
...
100
问题一:利率不变存款
money =?
rate =?
循环语句
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设5年内利率不变,均为3.25%,5年后到期存款是多少?
思考
第1年 50000*(1+0.0325)=51625
第2年 51625 *(1+0.0325)
…
第5年 50000 *(1+0.0325)**5
money=本金*(1+rate)
rate = 0.0325
money=50000
5年后到期存款:money=本金*(1+rate)**5
利率不变存款
money=50000 #初始化变量money
rate=0.0325 #初始化变量rate
year=5 #初始化变量year
money =
print(“5年以后存款利率:”,money,“元”)
input(“运行完毕,按回车键退出…”)
编写程序:
money*(1+rate)**year
5年后到期存款:money=本金*(1+rate)**5
money=?
rate=?
循环语句
money=本金*(1+rate)
rate=0.0325
money=50000
次方符号
for 语句应用-利率不变存款
money=50000 #初始化变量money
rate=0.0325 #初始化变量rate
for i in range(5) :
money=money*(1+rate)
print(“5年后存款总额:”,money,“元”)
用 for 语句编写程序:
money = 50000
rate = 0.0325
循环语句
money=本金*(1+rate)
#range()生成列表
#重复执行的语句
循环次数
重复执行的部分
变化的部分
如果首次存款时的利率是3.25%,自动转存时利率分别是3%,3%,2%,1.75%,那么5年后到期存款总额是多少?
for i in rate:
money = round(money*(1+i ),2)
#设置利率列表
#控制每次循环i的值
利率改变存款
思考
rate = [0.0325,0.03,0.03,0.02,0.0175]
利率改变存款
如果首次存款时的利率是3.25%,自动转存时利率分别是3%,3%,2%,1.75%,那么5年后到期存款总额是多少?
money=50000
for i in rate:
money=round(money*(1+i),2)
print("5年以后存款总额:“ , money , "元")
input("运行完毕,请按回车键退出...")
执行程序
round()函数实现保留2位小数位数,分位以下,四舍五入
rate = [0.0325,0.03,0.03,0.02,0.0175]
# 利率列表
条件循环
循环执行的部分
循环的条件
增加计数器
条件循环一般用于循环次数未知的情况,只有当循环条件成立时,才执行循环体。
基本格式如下:
while 关系表达式:
语句或语句组
重点
条件循环
S=0
S=10
S=20
S=30
s=0
while s<=30:
s=s+10
print(s)
例题
0
10
20
30
输出
S的值
执行程序
练习:求和1+2+3+……+100=
for 循环程序
s=0
for i in range ( ? ) :
s = s + i
print(s)
while循环程序
s=0
i=1
while i<= :
s=s+i
i=i+1
Print(s)
#累加求和
#累加计数
101
100
某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?
分析:
(1)需要重复执行的部分:
(2)循环控制条件:
(3)是否需要记录循环次数?
money=round(money*(1+0.037),2)-20000
year=year+1
money>=0,本金可以用常数表示,也可以存入变量增加程序的通用性。
由于需要知道年数,因此必须增加计数器。
利率不变-已知条件
实践:尝试补充代码 P38并运行
money = 100000 #本金100000
year = 0 #理财年数赋初值为0
while :
#计算新的理财金额
#理财年数加1
print(year,"年后资金被全部取出") #输出结果
input("运行完毕,请按回车键退出...")
money=round(money*(1+0.037),2)-20000
year=year+1
money>0
周而复始的循环
拓展练习1(39页)
投资人投入多少年钱可以恰好在第10年取完最后一次2万元?
由于知道年数,用计数循环
执行程序
拓展练习2(39页)
某一年期理财产品实际收益率为4.25%,由于产品一直在持续运作,投资者不按时赎回视为自动再投资。在收益率不变的情况下,至少多少年后投资可以翻倍?
由于知道条件(资金翻倍),用条件循环
执行程序
必修 1 数 据 与 计 算
2.3 周而复始的循环