(共34张PPT)
2.3 周而复始的循环
教 学 目 标
1
了解循环的基本结构
2
学会计数循环、条件循环的使用方法
3
熟练使用循环解决实际问题
一、列表
观察图片
我们可以看到这个置物架的水果有如下特点:
1.可以重复
2.可以修改
3.可以增加
4.可以删除
5.类型可以不同
这也是Python里列表的特点,接下来我们就可以创建一个水果列表。
列表的定义
列表在Python中的作用非常强大,它可以包含多个数据元素,同时它是一个有序的集合。
1、创建列表时,可直接赋值。基本格式:
列表名=[元素1,元素2,元素3.....] #各元素用逗号分隔,放在方括号内。
如:fruit = [“香蕉”, “苹果”, “葡萄”, “哈密瓜”, “桃”]、a=[ ]#空列表
2、列表可以存储不同数据类型的数据,如字符串,整型、列表等。
如:object=[“石榴”,1,”香蕉”,””橙子”,梨子”]
列表基本操作
1、访问列表元素
:object=[“石榴”,1,”香蕉”,””橙子”,梨子”]
“石榴”
1
“香蕉”
“橙子”
“梨子”
“石榴”
1
“香蕉”
“橙子”
“梨子”
列表基本操作
1、访问列表元素
:object=[“石榴”,1,”香蕉”,””橙子”,梨子”]
使用下标索引来访问列表中的值,也可以使用方括号的形式截取字符(即切片)。
2、修改列表元素
切片:表名[start:end:step],其中start不指定时默认为0,end截止位置但不包括该位置,step步长,可省略,默认为1
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
print(object[0],object[2],object[-1]) #访问列表元素
print(object[1:3])
石榴 香蕉 梨子
[1, '香蕉']
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
object[0]="苹果" #修改列表第1个元素
print(object)
['苹果', 1, '香蕉', '橙子', '梨子']
列表基本操作
3、删除列表元素(del、remove、pop)
注意:对于pop函数,pop()默认删除最后一个、pop(0) 删除列表首元素
编写程序 输出结果
object=["石榴",1,"香蕉","橙子","梨子"]
del object[1] #删除列表第2个元素
print(object)
['石榴', '香蕉', '橙子', '梨子']
object=["石榴",1,"香蕉","橙子","梨子"]
object.remove(“橙子”) #删除“橙子”元素
print(object)
['石榴', 1, '香蕉', '梨子']
object=["石榴",1,"香蕉","橙子","梨子"]
object.pop(1) #删除列表第2个元素
print(object)
['石榴', '香蕉', '橙子', '梨子']
列表基本操作
5、插入列表元素
4、在列表末尾添加元素
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
object.append("猕猴桃") #在列表末尾添加一个数据元素“猕猴桃”
print(object)
['石榴', 1, '香蕉', '橙子', '梨子', '猕猴桃']
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
object.insert(3,"葡萄") #在索引为3的位置插入一个数据元素“葡萄”
print(object)
['石榴', 1, '香蕉', '葡萄', '橙子', '梨子']
列表基本操作
7、列表排序(默认升序)
6、反向输出列表元素
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
object.reverse()
print(object)
编写程序 输出结果:
list1=[4,7,8,2,5,3]
list1.sort()
print(list1)
['梨子', '橙子', '香蕉', 1, '石榴']
[2,3,4,5,7,8]
列表基本操作
8、列表长度
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"]
print(len(object))
{ a=len(object)
print(a) }
5
9、打印列表
编写程序 输出结果:
object=["石榴",1,"香蕉","橙子","梨子"] print(object)
['石榴', 1, '香蕉', '橙子', '梨子']
实战演练
1.创建一个List列表,正确的是()。
A. List[1.2.3] B. List=[1,2,3] C. List(1.2.3) D. List=(1,2,3)
2.已知列表n=['水果','砂糖橘','苹果’,'橙子'],把列表中苹果改为橘子'的正确语句是( )。
A. n[2]= '橘子' B. n[‘橘子’] C. n[3]=’橘子’ D. list[‘橘子’]
4.list=["How" , " are" , " you",2021],则 list[-1]和 list[2]的值分别为()
A. How are B. are you C. you 2021 D.2021 you
5.下列Python程序段的运行结果是()。
fruits=[' banana ' , 'apple ' , ' mango ']
a=len(fruits)
print('a=',a)
A.a=2 B.a=3
C.3 D.a=5
√
√
√
√
实战演练
请完成一下操作:
新建python文件,文件名为list。
1.在文件中新建列表list=[“香蕉”, “苹果”, 2023,“葡萄”]
2.打印输出“苹果”
3.在列表末尾添加“猕猴桃”
4.将“苹果”修改为“桃子”
二、计数循环
计数循环
循环重复次数一定时,我们通常称为计数循环。在python中,使用for 语句来创建这类循环。
for语句的基本格式如下:
注意:冒号要记得,循环体必须相对关键字for缩进,一般为4个空格。
for 循环变量 in 列表:
语句或语句组
计数循环
for i in ["hello","world"]:
print (i) # 循环体
运行结果:
hello
world
(列表中元素个数决定循环次数)
循环体只有一条语句,即print(i)。循环执行时,依次将列表中的元素赋给i,并且执行循环体(输出i的值),直到整个列表的元素被取完,循环结束。
体会计数循环的执行过程:
range()函数
range( )函数可以生成某个范围内的数字列表。
基本格式:range(start, stop, step)
参数说明:
start: 计数从 start 开始。默认从 0 开始。例如range(5)等价于range(0, 5)
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0, 1, 2, 3, 4]
step:步长,默认为1,也可为负数。例如:range(0,5) 等价于 range(0, 5, 1)
示例:
for i in range(10):
print(i,end=””)
上述程序的执行结果是什么?
round函数
round函数用于实现保留两位小数。
例:round(1.428,2)
结果:1.43
实战演练
1、函数range(5)可以生成____结果。
A.5 B.[1,2,3,4,5] C.[0,1,2,3,4] D.[0,1,2,3,4,5]
2、下面的程序段运行后的结果为:
for x in [1,2,3]:
print(x)
A.1 2 3 B.1,2,3,
C.1 D.[1,2,3]
2
3
√
√
3.下面的程序段运行后的结果为()。
s =1
for i in range(1,6,2):
s=s+i
print(s)
A.15 B.10 C.12 D.9
√
实战演练
4、请补充下面程序,要求实现求1到100的和。
s=________ #对s赋初值
for i in range(_______) : #生成1-100的数字列表
__________ #求和,实现1-100的累加
print(s) #输出和
0
1,101
s=s+i
思考:若求1-100的奇数和怎么实现?偶数和呢?
三、条件循环
条件循环
条件循环一般用于循环次数未知的情况。只有当循环条件成立时,才执行循环体。在 Python中,使用while语句来创建这类循环。while语句的基本格式如下:
其功能是判断条件是否为真,如果条件为真,则重复执行循环体,直到条件为假,则退出循环。
while 关系表达式:
语句或语句组
注意:冒号要记得,循环体必须相对关键字while缩进。
计数循环
体会条件循环的执行过程:
s=0
while s<=30:
s=s+10 #循环体
print(s) #循环体
运行结果:
10
20
30
40
在本例中,循环体是两条语句,因此这两条语句相对于关键词while均要缩进。
程序执行过程是:变量s初值为0,判断“s<=30”是否程序执行过程是:变量s初值为0,判断“s<=30”是否成立;如果成立则执行循环体( s值增加10,输出s的值),不断重复直到“s<=30”不成立,退出循环。
结束
输出s
YES
NO
输入s=0
s<=30
s=s+10
开始
计数循环
体会条件循环的执行过程:
s=0
while s<=30:
s=s+10 #循环体
print(s) #循环体
运行结果:
10
20
30
40
在此我们需要特别关注语句“s=s+10”。在编程时,形如“s=s+x”的语句可以起到累加的作用,如果x=1,即s=s+1可以起到计数的作用。一般在使用累加器或计数器时将变量赋初值为0。
也有一类特殊的关系表达式,如数字0表示假,非O数字表示真。如果循环是以“while 1:”开头,那么在不加干预的情况下,程序就会“不知疲倦”地一直执行下去。如果你想停止这个程序,按快捷键Ctrl+C即可。通常情况下,我们不会让程序陷入这种“死循环”的境地。
实战演练
1.在Python中运行下列程序的正确结果是()。
x=1
while x>0:
x=x+1
print(x)
A. 1 B.1 2 3 4 5 6 7 8 9… C. 100 D.无输出
√
2.执行下面的程序,其运行结果是
s =0
while s<40:
s=s+10
print( s,end="")
A.30 B.40
C.10203040 D.10 20 30 40
√
3、请补充下面程序,要求实现求1到100的和。
s=________ #对s赋初值
i=______ #对i赋初值
while __________ : #循环条件
__________ #求和,实现1-100的累加
____________ #对i重新赋值
print(s) #输出和
实战演练
0
i<=100
s=s+i
思考:若求1-100的奇数和怎么实现?偶数和呢?
1
i=i+1
调试程序
编写程序时难免会出现错误,这时可以借助Python的调试器pdb。例如在程序开头加入语句“import pdb”,然后,在适当的位置放一个“pdb.set_trace()”,就可以设置一个断点,让程序暂停运行,进入pdb调试环境。
用命令“p”查看变量,
用命令“c”继续运行,
用命令“q”结束调试,退出程序。
四、知识拓展
拓展1--循环的提前结束
break continue
用于终止某个循环,使程序跳到循环体以外的第一个可执行语句。如果有两层或两层以上的循环,在最内层使用break 语句,则跳出的是最内层的循环,外层的循环不受影响。 结束当次循环,进行下一次循环。即跳过循环体内还未执行的语句,进入下一次循环的判定。
使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break 或continue 语句。
拓展1--循环的提前结束
程序示例 运行结果 执行过程
break for i in "python": if i == “t“: break else: print (i,end=” ”) p y 进入第1次循环,i=p,输出p
进入第2次循环,i=y,输出y
进入第3次循环,i=t
满足if语句的条件跳出循环,程序结束
continue for i in "python": if i == “t”: continue else: print (i,end=” ”) p y h o n 进入第1次循环,i=p,输出p
进入第2次循环,i=y,输出y
进入第3次循环,i=t
满足if语句的条件跳出本循环,继续下一次循环(即无输出)
进入第4次循环,i=h,输出h
进入第5次循环,i=o,输出o
进入第6次循环,i=n,输出n
拓展2--循环嵌套
Python语言允许在一个循环体里面嵌套另一个循环,这样的结构称为循环嵌套,也称多重循环。可以for( while)循环嵌套for( while)循环,也可以在循环体内嵌入其他循环体,如在 while循环中可以嵌入for循环,也可以在for循环中嵌入 while循环。
常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环。内循环是外循环的循环体。循环嵌套的执行过程是要首先执行外层循环,外循环每执行一次,内循环则需执行一个完整的循环。
考点:循环次数
两层循环的循环次数为内外循环之积。
实战演练
1.如下 Python程序段,语句 print("Hello World")的执行次数是:
for i in range(0,3):
for j in range(1,4):
print (''Hello World”)
A.3
B.4
C.6
D.9
√
小结
列表
条件循环
基本格式
循环条件
特殊的关系表达式
计数循环——基本格式
循环的提前结束
创建列表
访问列表中的元素
列表末尾添加元素
列表中添加元素
删除列表中的元素
修改列表中的元素
反向列表中的元素
列表排序
循环嵌套
感谢聆听
返回首页