内容正文:
4.4.1 for循环的应用
同步练习及答案
一、选择题
1.下列有关for循环语句说法错误的是( )。
A.for循环变量in列表后面必须加冒号
B.for循环所包含的语句不以缩进为标志
C.列表的几种表达方式有:直接罗列、先定义后使用和使用range()函数
D.for循环在解决操作重复很多次的问题时候非常有效。
【答案】B
【解析】本题考查for循环语句的相关知识。for循环所包含的语句以缩进为标志。
2.运行下面的程序段后得到的结果为( )。
A.12
B.14
C.28
D.36
【答案】A
【解析】本题考查的知识点是Python的循环函数range()。Range()函数可创建一个整数列表,一般用在for循环中。range(1,8,3)等同于整数列表【1,4,7】。故该程序结果为s=0+1+4+7=12。
3.如下为打印解决乘法口诀表的程序,如下说法错误的是( )。
for i in range(1, ① ):
for j in range(1, ② ):
print(i,"x",j,"=",i*j, ③ )
print()
A.①处填10,从1循环到9
B.②处填i+1,为内循环从1循环到i,即第i行执行i个乘法计算。
C.③处通过end=“ ”输出间隔,通过sep=“”取消换行。
D. print()的作用是执行完一层内循环进行换行。
【答案】C
【解析】③处通过sep=“ ”输出间隔,通过end=“”实现一行输出以后再换行。因此本题答案C错。
4、有以下程序:
y=30
for i in range(1,4)
x=int(input(‘x=‘))
if(y< x):
y=x
print(y)
程序运行后,依次输入:36 87 51,运行后输出结果是( )
A.36
B.87
C.51
D.运行错误
【答案】B
【解析】程序执行过程如下:
阶段
x
y
循环前
30
第1次循环
36
36
第2次循环
87
87
第3次循环
51
87
退出循环
Y=87
二、程序补充
1.以下是计算s=1+6+11+…+101的程序代码,请完善程序。
s=0
for i in range(1,102,__①_)
s=_____②_______
print(s)
【答案】① 5 ② s+i
2.以下是计算s=1*2*3*…*10的程序代码,请补全程序。
s=____①_____
for i in range(1,11)
s=___②______
print(s)
【答案】① 1 ② s*i
三、修改程序
以下是求三位数的水仙花数的程序,请修改,使程序运行处正确结果。
# 注意:
# (1)请勿增加或删除行;
# (2)请勿更改程序的结构;
# (3)请勿修改代码行缩进。
for x in range(100,1001): #①此行有1处错误,请修改
a=【?】 #②将【?】删除,然后在原处填入正确代码
b=x//10%10
c=x % 10
if a**3 + b**3 + c**3 != x: #③此行有1处错误,请修改
print(x)
【答案】①改1001为1000 【解析】三位数水仙花是从100到999循环枚举range(start,stop,[step])中计数到stop结束,但不包括stop,因此stop为1000。
②x//100 【解析】取整运算,求百位数
③改“!=”为“==”【解析】根据水仙花数的构成条件。
原创精品资源学科网独家享有版权,侵权必究!6
$$