内容正文:
4.4.3 循环嵌套的应用
&4.4.4循环控制的应用
同步练习及答案
1、 单选题
1、以下关于循环嵌套的说法错误的是( )
A.使用循环嵌套语句可以简化程序结构
B.单独使用for循环或while循环的单循环语句,往往无法解决复杂问题,可以运用循环嵌套解决。
C.循环嵌套外部循环先执行,内部循环后执行。
D.循环嵌套主要解决类似“工作要做很多遍,而每一遍工作都需要重复做一些事情”的问题。
【答案】C
【解析】循环嵌套外层循环判断一次,内层执行完循环后再回到外层进行判断。
2、循环嵌套包括( )类型
①for循环嵌套while语句 ②while循环嵌套for语句
③for循环嵌套for语句 ④while循环嵌套for语句
A.①②③
B.①②④
C.②③④
D.①②③④
【答案】D
【解析】循环嵌套外层循环判断一次,内层执行完循环后再回到外层进行判断。
3.某算法的部分流程图如图所示,执行这部分流程后,变量x和y的值分别为( )。
A.0 3 B. 3 0 C.2 1 D.1 2
【答案】D
【解析】本题主要考查算法流程图的执行。x=3,y=0,第一遍循环,满足x>y,x=x-1=2,y=y+1;第二遍循环,满足x>y,x=x-1=1y=y+1=2;第三遍循环,不满足x>y,退出循环,故执行这部分流程后,变量x和y的值分别是1、2,故本题选D选项。
4.有关循环控制的说法正确的是( )
A.循环控制包含控制循环变量的变化方式和控制循环的跳转。
B.实现控制循环的跳转需要用到break和continue两个关键字,其中,continue中断循环,break跳出本次循环。
C.使用continue语句时,当某个条件成立的时候,需要立即退出循环,不在运行循环中余下的代码。
D.使用break语句时。当调价农夫和需要跳转的时候,跳过盖茨循环结束前的语句,回到循环开头重新判断与执行。
【答案】A
【解析】B错在break中断循环, continue跳出本次循环;C的说法是break语句的;D的说法是continue语句的。
5、 以下程序可以正确输出“p,y,t,o,n”的是( )
A.for letter in 'Python':
if letter == 'h':
break
print ('当前字母 :', letter)
B.for letter in 'Python':
if letter == 'h':
continue
print ('当前字母 :', letter)
C.for letter in 'Python':
if letter == 'h':
print ('当前字母 :', letter)
D.for letter in 'Python':
if letter == 'h':
print ('当前字母 :', letter)
【答案】B
【解析】实现控制循环的跳转需要用到break和continue两个关键字,其中,break中断循环,continue跳出本次循环。根据题意只需跳过“Python”中的“h”,因此需要添加continue语句。
二、程序填空
以下是九九乘法表的for循环嵌套和for、while循环嵌套的实现程序,请补充部分代码:
1、for 循环嵌套实现:
for i in range( ① ):
for j in range( ② ):
print(i,"x",j,"=",i*j,sep="",end=" ")
print()
【答案】①1,10 ②1,i+1
【解析】外层range(1,10)表示从1循环到9,内层range(1,i+1)表示从1循环到i。外层每一次判断,内层执行一轮循环。
2、for、while混合循环嵌套实现:
i=1
while( ① )
for j in range(1, ② ):
print(i,"x",j,"=",i*j,sep="",end=" ")
②
print( )
【答案】①i<=9 ②i+1
【解析】与上一题同理。
三、修改程序
刘远想编写一个程序来计算1!+2!+3!+….+10!的值。但在编写程序时遇到了一些问题,请帮助他修改程序。程序正确运行界面如图所示。
(1)在代码文件中,修改“for i in range(1,10):”行1处错误;
(2)在代码文件中,修改“total=【?】”中将【?】更换为正确代码;
(3)在