内容正文:
第二单元 编程计算
2.3 周而复始的循环
【学习目标】
1.了解循环的基本结构。
2.学会计数循环的使用方法。
3.学会条件循环的使用方法。
4.熟练使用循环解决实际问题。
【知识框架】
计算机的一个显著特点是其 、精确的计算能力。
循环结构的特点:某些代码的反复 。
知识点1:
循环分为重复一定次数的 循环,也有重复到条件结束的 循环。
计数循环:指定 的情况下,重复运行直到次数用完,退出循环。
条件循环:当 的情况下,不断地运行直到条件不在满足,退出循环。
【项目背景】
(1)小I的理财方式
小I是个有计划的孩子,他每个月节省50元作为存款,准备高中毕业为自己换一台好一点的手机。那三年之后,小I能实现他的目标吗?帮助小I算出他能存下多少钱?
smoney= # 50*36
(2)小T的理财方式
小T是个脑袋灵活的孩子。他的存钱方式和小I不一样。他从高中入学开始,第一个月存10元,第二个月存20元,第三个月存30元,以此类推。他计划高中毕业为自己买一台配置高一点的笔记本电脑!那三年之后,小T能实现他的目标吗?
smoney= # (10+360)*36/2
知识点2:列表:高级数据类型,用[]表示,可以包含多个不同类型的数据元素。
object=["石榴",1,"香蕉","橙子","梨子"] #创建列表,各元素用逗号隔开,放在方括号内
object[0]=“苹果” #修改列表第1个元素的值,注意列表索引号从0开始
print(object[1]) #输出第2个元素的值
del object[1] #删除列表第2个元素
object.append("猕猴桃") #在列表尾部添加一个数据元素"猕猴桃"
print (object) #输出列表
知识点3:索引号:正向从最左标记为0开始递增,反向是从最右标记为-1开始递减。
常用方法:
1.del 删除 2.列表名.append 添加 3.len(列表名) 列表长度
知识点4:计数循环的表现形式①用for语句来创建计数循环。
基本结构:for 循环变量 in序列: # in表示 运算符
语句或语句组
注意:一组重复执行的语句称为 ,循环体在for的下一层(缩进)。
知识点5:计数循环的表现形式②range()函数生成(左闭右开范围)的数字列表。
如range(1,6)会生成列表[1,2,3,4,5];而range(8)会生成列表[0,1,2,3,4,5,6,7]。
小T的理财方式实现代码:
s=0
for i in range( ): # 10,370,10
s= # s+i
print("小T三年的存款是:",s,"元")
练习:假如每天进步一点点表示为1+0.01,每天退步一点点表示为1-0.01,请使用for循环计算一年(365天)进步(1.01)或退步(0.99)的结果。
s=1
for i in range( ): # 365 或 0,365 或 1,366
s= # s*(1+0.01) 或 s*(1-0.01)
print(s)
Q:但生活中遇到的很多循环结构的循环次数是不确定的,那应该如何解决呢?
知识点6:条件循环:当循环条件成立时,执行循环体;直至条件不成立时,退出循环。
实践1:用while实现循环
s=0
while s<=30:
s=s+10 # 循环体
print(s) # 循环体输出每次循环时s的值
条件循环中的循环条件应该是 执行的,否则会变成 循环。死循环,可按快捷键 终止程序执行。
实践2:计算五年后的理财收益,五年内的利率都是3.85%,请补充代码。
money= # 本金100000
year= # 理财年数赋初值为0
while # 循环条件
# 计算新的理财金额
# 理财年数加1
print(year,"年后资金被全部取出") #输出结果
知识点7:调试程序
(1)Python调试器pdb。在程序开头加入导入语句“import pdb ” 然后在适当位置放一句”pdb.set_trace()”就可以设定一个断点,让程序暂停运行。
输入”p 变量名”的方式就可以查看变量的值。
输入”c”继续运行。
输入”q”结束调试,退出程序。
(2)Python shell中,通过Debug-Debugger打开调试器,然后在程序需要中断的地方设定断点,运行后可以进入Debug状态。
实践2:
import pdb
money=100000 #本金100000
year=0 #理财年数赋初值为0
while money>=0:
money=round(money*(1+0.037),2)-20000 #计算新的理财金额
year=year+1 #理财年数加1
pdb.set_trace() #设置断点
print(year,"年后资金被全部取出") #输出结果
知识点8:临时退出循环的方法
①在Python循环结构中,continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。那么执行下列语句块得到的结果是( )
A.Hello B.HelloWorld C.Helloorld D.World
②在Python循环结构中,break语句被用来告诉Python跳出当前循环块。break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行。(Y/N)
【课后练习】
1.有关循环结构的说法不正确的是( )
A.循环结构是算法的基本结构之一
B.有的的程序设计中没有循环结构
C.循环结构在程序设计有可能会有嵌套出现
D.在PYTHON 中循环结构一般使用IF语句实现
2.下列python循环结构中,不起作用的是( )
A.for count in range(20):B.for i in range(0,10):
C.for i in range(10,0,2):D.while s<50:
3.如图所示,循环结构是一种重复某一部分操作的结构。若满足条件,则执行( ), 若不满足条件,则跳出循环,执行( )的代码。
A.A、A B.B、B C.A、B D.B、A
4.在Python程序设计语言当中,循环结构的循环体是以( )为标志的。
A.缩进 B.冒号 C.while语句 D.for语句
5.循环次数未知的循环结构可以使用( )
A.if语句 B.def语句 C.while语句 D.for语句
6.以下问题中,适合利用循环结构解决的是( )
A.统计100内素数的个数B.判断一个数是否是奇数
C.求一个学生三科的平均分D.求两个数中的较小值
7.哪个选项关于循环结构的描述是错误的( )
A.条件循环和遍历循环结构都是基本的循环结构
B.死循环无法退出,没有任何作用
C.循环是程序根据条件反复执行的一种运行方式
D.循环是一种程序的基本控制结构
8.以下对循环结构及其语句的叙述错误的是( )
A.程序中某些代码的反复执行称为循环
B.循环结构容易引起系统死机
C.循环结构可以减少源程序重复书写的工作量
D.循环结构3要素是循环变量、循环体和终止条件
9.下列流程图中,包含循环结构的是( )
10.下列有关for循环语句说法正确的是( )
A.for 循环变量 in 列表后面必须加分号
B.for循环所包含的语句是不以缩进为标志的
C.生成数字序列有列表或使用range( )函数等方式
D.for循环所包含的语句是以中括号为标志的
11.关于for循环次数,下列说法错误的是( )
A.列表中元素的个数,如[1,2,3,4]
B.字符串的长度
C.range(start, stop[, step])控制次数
D.以上都不是
12.Python语言中,若要计算2+4+6+8+10,以下for循环语句中range函数产生的序列正确的是( )
A.for i in range(2,12):B.for i in range(2,12,1):
C.for i in range(2,10):D.for i in range(2,12,2):
13.关于for循环和while 循环的说法哪个正确?( )
A.while 循环先判断后执行,for循环先执行后判断
B.while 循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体且不能为空
14.下列Python语言while循环叙述正确的是( )
A.while循环一般在循环次数不能事先确定情况下
B.while循环的条件表达式的值一定是True
C.while循环可以不要条件表达式
D.因为while循环有条件表达式,所以不会死循环
15.在变量a事先定义为非负整数的情况下,下列while循环的写法正确的是( )
A.while a B.while a: C.while a=2: D.while a==2
16.下列Pythonwhile循环的叙述错误的是( )
A.可以将while循环的条件表达式写成:while False:
B.可以将while循环的条件表达式写成:while 1:
C.如果将while循环的条件表达式写成:while True:,则while循环体在不加干预的情况下一直执行下去
D.while循环和for循环在任何情况下都是可以互换实现的
17.while循环属于什么循环( )
A.结合循环 B.条件循环
C.复合循环 D.计数循环
【学案答案】
1.高速
2.执行
3.计数
4.条件
5.次数
6.条件满足
7.50*36
8. (10+360)*36/2
9.成员
10.循环体
11.10,370,10
12.s+i
13.365 或 0,365 或 1,366
14.s*(1+0.01) 或 s*(1-0.01)
15.有限次
16.死
17.Ctrl+C
18.C
19.Y
【练习答案】
1.答案:D
解析:本题考查循环结构的相关知识点
在PYTHON 程序设计语言中循环结构一般使用for或while语句实现。故本题选D选项
2.答案:C
解析:四个选项中,C选项中的range函数的参数列表中,应该把10和0进行互换,参数1比参数2小,第3个参数表示隔多少进行。故本题选C。
3.答案:C
解析:满足条件执行是即A,不满足条件退出循环即B,故选C。
4.答案:A
解析:在Python程序设计语言当中,循环结构的循环体是以缩进为标志的。故选A。
5.答案:C
解析:本题考查循环结构。在编程中,循环次数未知的情况下通常会使用while语句。while语句的循环条件为真时,会一直执行循环体中的代码,直到循环条件变为假才停止循环。故答案为C选项。
6.答案:A
解析:本题考查循环结构。适合利用循环结构解决的问题通常是需要重复执行某些操作的情况。在本题中,要统计100以内的素数个数,需要遍历每个数字,判断它是否是素数,然后计数。由于需要遍历多个数字并执行相似的操作,因此适合使用循环结构,如for循环,来处理。其他选项中,B选项只涉及单个数的判断,不需要循环;C选项只需要对三个成绩求和并计算平均分,不需要循环;D选项只需要比较两个数的大小,也不需要循环。故答案为A选项。
7.答案:B
解析:死循环无法退出,往往用于监测,并不是没有任何用处。
8.答案:B
解析:本题考查的是循环结构。循环结构表示程序反复执行某个或某些操作,直到判断条件为假时才可以终止循环,并不容易引起系统死机。故本题应选B。
9.答案:B
解析:流程图中的箭头有回头的,故选B。A是顺序,CD是选择。
10.答案:C
解析:for循环所包含的语句以缩进为标志,故排除BD;for语句后以冒号结尾,故排除A,本题选C。
11.答案:D
解析:ABC都可以用for循环做,故D错误。
12.答案:D
解析:2+4+6+8+10,故是偶数相加,ABC步长是1,故错误;选D。
13.答案:B
解析:本题考查循环结构相关内容。A选项,while与for循环均是先判断后执行,选项错误。B选项,while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果,选项正确。C选项,两种循环可以相互替换,选项错误。D选项,两种循环结构中可以没有循环体,选项错误。故本题答案是B选项。
14.答案:A
解析:while循环必然有一个条件表达式,故C错误;条件表达式为True时执行循环,否则退出,故B错误;当条件一直为True的时候,进入无限循环状态;故本题选A。
15.答案:B
解析:首先排除AD,没有加冒号;然后根据while是条件循环,进行a的条件判定,C不是条件的表达方法,是赋值,故C错误,本题选B。
16.答案:D
解析:错误的是D,while是条件、for是次数,两者不是都可以相互实现。ABC三个选项如果不加干涉,循环都不会退出。
17.答案:B
解析:while循环属于条件循环,故选B。
学科网(北京)股份有限公司
$$