内容正文:
nullnullnullnull
第2单元 编程计算
2.3 周而复始的循环
一
·了解计数循环、条件循环的基本结构。
·学会计数循环、条件循环的使用方法。
·熟练使用计数循环、条件循环解决实际问题。
学习目标
实践操作一:
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设5年内利率不变,均为3.25%,5年后到期存款总额是多少?
原始金额:50000元
第一年:50000*(1+0.0325)
第二年:50000*(1+0.0325)*(1+0.0325)
第三年:50000*(1+0.0325)*(1+0.0325)*(1+0.0325)
第四年:50000*(1+0.0325)*(1+0.0325)*(1+0.0325)*(1+0.0325)
第五年:50000*(1+0.0325)*(1+0.0325)*(1+0.0325)*(1+0.0325)*(1+0.0325)
循环:指计算机程序周而复始重复同样的步骤。
本金*(10+0.0325)
年数<=5
是
否
循环控制条件
循环体
语句块
循环变量in列表
是
否
语句块
循环变量in列表
是
否
for 循环变量 in 列表:
语句块
特点:循环次数是已知的
?
计数循环
列表就是用“[ ]”将数据集中存放,便于记录和处理。使用中括号指出从哪里开始,到哪里结束,另外用逗号分隔列表中的各项。列表中可以包含Python中能存储的任何类型的数据。
例如:a=[1,3.14,"abc", True]
b=[ ](中括号内不含任何数据,表示空列表)
a=[1,3.14,"abc", True]
0
1
2
3
a[0]=1
a[1]=3.14
a[2]=abc
a[3]=True
-4
-3
-2
-1
a[-4]=1
a[-3]=3.14
a[-2]=abc
a[-1]=True
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设5年内利率不变,均为3.25%,5年后到期存款总额是多少?
money=50000
money=money*(1+0.035)
print(money)
money=50000
for i in [1,2,3,4,5]:
money=money*(1+0.035)
print(money)
用于计数,表示循环次数
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设首次存款时的利率是3.25%,,自动转存是利率分别是3%、3%、2%、1.75%,那么5年后到期存款总额是多少?
money=50000
for rate in [0.325,0.03,0.03,0.02,0.0175]:
money=money*(1+rate)
print(money)
拓展一下
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设5年内利率不变,均为3.25%,50年后到期存款总额是多少?
挑战一下
range( )函数,它可以生成某个范围内的数字列表。
例如: range(1,6)就会生成[1,2,3,4,5]这样一个列表,
range(8)会生成[0,1,2,3,4,5,6,7]这样一个列表。
用法:Range(开始,结束,间隔);
左闭右开
如果将5万元存入银行,选择“1年定期,自动转存”的存款方式,假设5年内利率不变,均为3.25%,50年后到期存款是多少?
money=50000
for i in range(50):
money=money*(1+0.035)
print(money)
某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后资金被全部取出?
实践操作二:
原始金额:100000元
第一年:100000*(1+0.0325)-20000
第二年:[100000*(1+0.0325)-20000]*(1+0.0325)-20000
第三年:{[100000*(1+0.0325)-20000]*(1+0.0325)-20000}*(1+0.0325)-20000
············
第n年:0
循环体
关系表达式
成立
不成立
本金*(10+0.0325)-20000
钱数>0
是
否
关系表达式
循环体
while 关系表达式:
语句或语句组
特点:不用统计需要的循环次数,用关系表达式来确定循环
条件循环
循环体
关系表达式
成立
不成立
某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后资金被全部取出?
资金=0
money=100000
while money>0:
money=money*(1+0.035)-20000
print(yuar)
需要借助变量去统计循环次数
year=0
year=year+1
课堂小结
周而复始的循环
for语句
列表
range()函数
while语句
当堂检测
s
i=0
i=1
i=2
i=3
i=4
······
___________
for i in ________________:
______________
print(s)
1、以下是s=1+2+3+……+100的程序代码,请补全程序。
s=0
s=s+i
range(1,101)
当堂检测
___________
for i in ________________
______________
print(s)
2、以下是s=1*2*3*……*100的程序代码,请补全程序
s=1
s=s*i
range(1,101)
当堂检测
3、s= 1 + 2 + 3 + 4 + ……累加到几的和刚好大于20?
__________
__________
while ______:
__________
__________
print(i)
s=0
s<=20
i=0
i=i+1
s=s+i
谢谢观看
$null