2.3 周而复始的循环 课件(共24张PPT)2023—2024学年教科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.3 周而复始的循环 课件(共24张PPT)2023—2024学年教科版(2019)高中信息技术必修1

资源简介

(共24张PPT)
周而复始的循环
列表
列表的含义:python中包含多个数据元素的一个有序的集合。
[‘今天’,‘奥运’,‘金版’,2021]
索引号(左) 0 1 2 3
-4 -3 -2 -1 索引号(右)
列表的特点:python中包含多个数据元素的一个有序的集合。
有序(有顺序)混存(元素多校)可重复(可以重复出现)
例:
Object=[1,2,3,4,5]
Print(object)
[1,2,3,4,5]
Object=list[1,2,3,4,5]
Print(object)
[1,2,3,4,5]
列表的操作(增,删,改)
增加 命令 操作描述
Append() 在列表的末尾添加一个元素
Insert() 在列表的任意位置添加一个元素
List1=[1,2,3,4,5,6]
List1.append(7)
Print(list1) #1234567
List1.insert(1,0)
Print(list1) #10234567
列表的操作(增,删,改)
删除 命令 操作描述
remove () 删除元素,重复的元素只删除第一个
del 删除列表(列表名[索引号])
List1=[1,2,3,4,5,6]
List1.remove(1) #删除元素名为1
Print(list1) #23456
List1. remove(list1[0])
Print(list1) #3456
Del list1[3]
Print(list1) #345
Del list1
Print(list1) #显示列表不存在
为什么删除列表中的文字报错?
修改 命令 操作描述
列表名[索引号]=新的元素 修改列表中指定位置的元素
List1=[1,2,3,4,5,6]
List1[5]=7
Print(list1) #123457
题:
1.执行下列python程序,输出结果是()
X=[1,2,3,4]
x.remove(x[1])
Print(x)
A.[2,3,4]
B.[1,2,3,4]
C.[1,3,4]
D.2,3,4
2.执行下列python程序,输出结果是()
X=[1,2,3,4]
x.remove(1)
Print(x)
A.[2,3,4]
B.[1,2,3,4]
C.[1,3,4]
D.2,3,4
A
C
按索引号删除元素
按元素名删除元素
3.执行下列python程序,输出结果是
name=[‘张三’,’李四’,’王五’]
name.insert(1,’李三’)
Print(name)
[‘张三’,’李三’,’李四’,’王五’]
4.按照要求完成下列表格
命令 代码 Print(list1)结果
建立列表 List1=[1,3,2,4,9,7] [1,3,2,4,9,7]
开头插入一个元素0
在末尾添加一个元素10
将元素9修改成8
删除元素7
List1.insert(0,0)
[0,1,3,2,4,9,7]
List1.append(10)
[0,1,3,2,4,9,7,10]
List1[5]=8
[0,1,3,2,4,8,7,10]
List1.remove(7)
[0,1,3,2,4,8, 10]
命令 语法格式 操作描述
Reverse() 列表名. Reverse() 逆序,反向列表中元素
Sort() 列表名. Sort() 升序,对列表中元素进行升序排序
For循环(计数循环)
流程图
基本语法
遍历列表的第I个元素,
直至遍历结束
循环体
false
true
遍历结束
For循环变量in列表:
语句或语句组
循环条件是由列表中元素个数控制
(循环次数由元素数量决定,按顺序执行语句命令)
for循环又称为计数循环
例:
请编写一个程序,要求程序运行时,实现输出5行“***********”。
分析问题
设计算法
编写代码
调试运行
1.由谁来控制循环?
列表中元素的个数
2.循环多少次?
循环5次
3.每次循环的内容是什么?
‘*’*10
遍历第I个元素,
直至遍历结束
‘*’*10
false
true
结束
开始
list1=[1,2,3,4,5]
for i in list1:
print(‘*’*10)
**********
**********
**********
**********
**********
题:
list1=[1,2,3,4,5,6,7,8,9,10]
for i in list1:
print(‘*’*i)
*
**
***
****
*****
******
*******
********
*********
**********
分析问题
设计算法
编写代码
调试运行
请编写一个程序,要求程序运行时,实现输出10行“*”以次递增。
1.由谁来控制循环?
列表中元素的个数
2.循环多少次?
循环10次
3.每次循环的内容是什么?
‘*’*i
遍历第I个元素,
直至遍历结束
‘*’*i
false
true
结束
开始
j=0
list1=[1,2,3,4,5,6,7,8,9,10]
for i in list1:
j=j+1
print(‘*’*j)
rang()函数
Range(起始值,终值,步长)
list(range(1,5,1)
[1,2,3,4,]
list(range(10,1,-2)
[10,8,6,4,2]
list(range(8)
[0,1,2,3,4,5,6,7]
缺省为0
不可缺省
缺省为1
无设置时从0开始
不显示设置值
无设置时为1
range(start,stop,step)函数
可以产生一个整数序列,从start开始中,到小于stop的最大整数结束,间隔为step,省略值为1
例:
请编写一个程序,要求程序运行时,实现输出5行“***********”。
分析问题
设计算法
编写代码
调试运行
1.由谁来控制循环?
range()函数中元素的个数
2.循环多少次?
循环5次
3.每次循环的内容是什么?
range()函数创建的整数序列的值,是否要参与循环体里的运算?
‘*’*10 不需要
4.需要创建一个怎样的range()函数?
range(5)
遍历第I个元素,
直至遍历结束
‘*’*10
false
true
结束
开始
for i in range(5):
print(‘*’*10)
**********
**********
**********
**********
**********
for i in rang(1,11,1) :
print(‘*’*i)
*
**
***
****
*****
******
*******
********
*********
**********
分析问题
设计算法
编写代码
调试运行
请编写一个程序,要求程序运行时,实现输出10行“*”以次递增。
1.由谁来控制循环?
range()函数中元素的个数
2.循环多少次?
循环10次
3.循环体的内容是什么?
range()函数创建的整数序列的值,是否要参与循环体里的运算?
‘*’*I 需要
4.需要创建一个怎样的rang()函数?
rang(1,11,1)
遍历第I个元素,
直至遍历结束
‘*’*i
false
true
结束
开始
j=0
list1=[1,2,3,4,5,6,7,8,9,10]
for i in list1:
j=j+1
print(‘*’*j)
例:
请编写一个程序,求1-100以内所有整数的和,即1+2+3+…+100的和。
分析问题
设计算法
编写代码
调试运行
sum=0
for i in range(1,101):
sum=sum+i
print(sum)
省略步长为1
书中实例
例:
如果将5万元存入银行,选择“1年定期、自动转存”的存款方式,假设
5年内存款利率没有发生变化,均为3.25%,5年后到期存款总额是多少?
分析问题
设计算法
编写代码
调试运行
principal = 50000 #本金50000元
rate=0.0325 #1年定期利率3.25%
year=5 #存款期限
money=principal*(1+rate)**year #计算存款总额
print("5年以后存款总额:",money,"元") #输出结果
input("运行完毕,请按回车键退出...")
第1年50000*(1+0.0325)=51625
第2年51625*(1+0.0325)

第5年50000*(1+0.0325)5
round(x,d):对X进行四舍五入,d是小数的截取位数
principal = 50000 #本金50000元
rate=0.0325 #1年定期利率3.25%
year=int(input("请输入存款年数:")) #存款期限
money=principal*(1+rate)**year #计算存款总额
print("存款总额:",money,"元") #输出结果
input("运行完毕,请按回车键退出...")
输入年数得存款金额?
money = 50000 #本金50000元
rate=[0.0325,0.03,0.03,0.02,0.0175] #利率列表
for i in rate:
money=round(money*(1+i),2) #计算每年存款额
print("5年以后存款总额:",money,"元") #输出结果
input("运行完毕,请按回车键退出...")
如果首次存款时的利率是3.25%,自动转存时利率分别是
3%、3%、2%,1.75%,那么5年后到期存款总额是多少?
第1年 存款总额=本金*(1+第1年利率)
第2年 存款总额=上一年存款总额*(1+第2年利率)

第n年 存款总额=上一年存款总额*(1+第n年利率)
循环体
第n年 存款总额=上一年存款总额*(1+第n年利率)
循环次数
for b in["你","我","他","天","地"]:
print(b)
有规律重复性操作问题时采用循环结构
or i in range(1,10):
for j in range(1,i+1):
print("{0:1}*{1:1}={2:2} ".format(j,i,j*i),end="") #按格式输出
print() #换行
input("运行完毕,请按回车键退出...")
制作乘法口决表

展开更多......

收起↑

资源预览