内容正文:
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系-for循环
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________
一、选择题(本大题共10小题,每小题2分,共20分)
1. for 循环常用于遍历( )。
A. 字符串
B. 列表
C. 字典
D. 以上都可以
2. for 循环常用于遍历( )。
A. 元组
B. 集合
C. 文件
D. 以上都是
3. for i in range(10):
print(i)
上面程序运行的结果为( )。
A. 0 至 9
B. 1 至 10
C. 1 至 9
D. 0 至 10
4. for i in range(2,9):
print(i)
上面程序运行的结果为( )。
A. 0 至 9
B. 0 至 8
C. 1 至 8
D. 2 至 8
5. for i in range(2,10,3):
print(i)
上面程序运行的结果为( )。
A. 2,5
B. 2,5,8
C. 2 至 10
D. 0 至 10
6. for i in range(-4,5,3):
print(i)
上面程序运行的结果为( )。
A. -4,-1,2
B. 0,3
C. 0 至 3
D. 3 至 5
7. 下列在 for 循环中必须用到的关键字是( )。
A. in
B. break
C. continue
D. if
8. for 循环中,循环的次数是由( )决定的。
A. 循环变量
B. 遍历结构
C. 循环体
D. 以上都有
9. for 循环中,需要( )。
A. 循环变量
B. 遍历结构
C. 循环体
D. 以上均正确
10. for 循环中,能体现出程序逻辑性的是( )。
A. 遍历结构与循环体
B. 循环变量与循环体
C. 循环变量与遍历结构
D. 循环结构
二、填空题(本大题共10小题,每小题2分,共20分)
1. for 循环______接“else”结构语句。(填“可以”或“不可以”)
2. Python 语言的循环结构包括两种:______和无限循环。
3. range()函数中的“开始计数”参数默认是从______开始。
4. range()函数中的“步长”参数默认是______。
5. ______变量用于从序列中逐个取出的元素。
6. list(range(1,10,2))的运行结果____________。
7. print(sum([i for i in range(1,11)]))的运行结果____________。
8. print(sum([i for i in range(1,11) if i%2==1])) 的运行结果____________。
9. print(sum([i**2 for i in range(1,11) if i%2==1])) 的运行结果____________。
10.for循环里面,必须有的关键字for和________
三、程序分析题(本大题共4小题,每小题6分,共24分)
1. 下面程序的执行结果是__________。
t='123456789'
a=''
for i in range(0,len(t),2):
a=a+t[i]
print(a)
2. 写出下列程序的运行结果__________。
i = s1 = s2 = s3 = 2
while i < 10:
i = i + 1
if i // 2 == i / 2:
s1 = s1 + i
elif i // 3 == i / 3:
s2 = s2 + i
elif i % 5 == 0:
s3 = s3 + i
print(s1, s2, s3)
3. 写出下列程序的运行结果__________。
m=n=1
while True:
m=m+2
if m//2==m/2:
continue
elif m>=10:
break
else:
n=n+m
print(m,n)
4. 写出下列程序的运行结果__________。
s=1
i=1
while i<=10:
i=i+1
if i%5!=0:
continue
s=s+i
print(i,s)
三、程序设计题(本大题共4小题 共36分)
1.使用 for 循环语句计算自然数 1 至 20 的和,并将运算结果显示输出。(8分)
2.使用 for 循环语句,计算自然数 1 至 20 间的奇数和,并将运算结果显示输出。(8分)
3.使用 for 循环语句,实现输入一个字符串,然后倒序显示输出。(10分)
4,使用for循环语句,实现输入5位同学的成绩,计算出平均分。(10分)
请输入第1位同学的成绩:80
请输入第2位同学的成绩:85
请输入第3位同学的成绩:90
请输入第4位同学的成绩:95
请输入第5位同学的成绩:86
平均分: 87.2
学科网(北京)股份有限公司
$$
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系-for循环
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________
一、选择题(本大题共10小题,每小题2分,共20分)
1. for 循环常用于遍历( )。
A. 字符串
B. 列表
C. 字典
D. 以上都可以
【答案】D
【解析】for 循环可以用于遍历字符串、列表、字典等可迭代对象。
2. for 循环常用于遍历( )。
A. 元组
B. 集合
C. 文件
D. 以上都是
【答案】D
【解析】for 循环可以用于遍历元组、集合、文件等可迭代对象。
3. for i in range(10):
print(i)
上面程序运行的结果为( )。
A. 0 至 9
B. 1 至 10
C. 1 至 9
D. 0 至 10
【答案】A
【解析】range(10) 生成 0 至 9 的整数序列
4. for i in range(2,9):
print(i)
上面程序运行的结果为( )。
A. 0 至 9
B. 0 至 8
C. 1 至 8
D. 2 至 8
【答案】D
【解析】range(2, 9) 生成 2 至 8 的整数序列。
5. for i in range(2,10,3):
print(i)
上面程序运行的结果为( )。
A. 2,5
B. 2,5,8
C. 2 至 10
D. 0 至 10
【答案】B
【解析】range(2, 10, 3) 生成 2, 5, 8。
6. for i in range(-4,5,3):
print(i)
上面程序运行的结果为( )。
A. -4,-1,2
B. 0,3
C. 0 至 3
D. 3 至 5
【答案】A
【解析】range(-4, 5, 3) 生成 -4, -1, 2。
7. 下列在 for 循环中必须用到的关键字是( )。
A. in
B. break
C. continue
D. if
【答案】A
【解析】for 循环中必须使用 in 关键字。
8. for 循环中,循环的次数是由( )决定的。
A. 循环变量
B. 遍历结构
C. 循环体
D. 以上都有
【答案】B
【解析】循环的次数由遍历的结构决定。
9. for 循环中,需要( )。
A. 循环变量
B. 遍历结构
C. 循环体
D. 以上均正确
【答案】D
【解析】for 循环需要循环变量、遍历结构和循环体。
10. for 循环中,能体现出程序逻辑性的是( )。
A. 遍历结构与循环体
B. 循环变量与循环体
C. 循环变量与遍历结构
D. 循环结构
【答案】A
【解析】程序的逻辑性体现在遍历结构与循环体的关系上。
二、填空题(本大题共10小题,每小题2分,共20分)
1. for 循环______接“else”结构语句。(填“可以”或“不可以”)
【答案】可以
【解析】for 循环可以接 else 结构
2. Python 语言的循环结构包括两种:______和无限循环。
【答案】有限循环
【解析】Python 的循环结构包括有限循环和无限循环。
3. range()函数中的“开始计数”参数默认是从______开始。
【答案】0
【解析】range() 函数的默认开始计数是 0
4. range()函数中的“步长”参数默认是______。
【答案】1
【解析】range() 函数的默认步长是 1
5. ______变量用于从序列中逐个取出的元素。
【答案】迭代
【解析】迭代变量用于从序列中逐个取出元素
6. list(range(1,10,2))的运行结果____________。
【答案】[1, 3, 5, 7, 9]
【解析】list(range(1, 10, 2)) 生成奇数列表
7. print(sum([i for i in range(1,11)]))的运行结果____________。
【答案】55
【解析】sum([i for i in range(1, 11)]) 计算 1 至 10 的和。
8. print(sum([i for i in range(1,11) if i%2==1])) 的运行结果____________。
【答案】25
【解析】sum([i for i in range(1, 11) if i % 2 == 1]) 计算奇数的和。
9. print(sum([i**2 for i in range(1,11) if i%2==1])) 的运行结果____________。
【答案】165
【解析】sum([i**2 for i in range(1, 11) if i % 2 == 1]) 计算奇数平方和。
10.for循环里面,必须有的关键字for和________
【答案】in
【解析】for 循环中必须包含 for 和 in 关键字
三、程序分析题(本大题共4小题,每小题6分,共24分)
1. 下面程序的执行结果是__________。
t='123456789'
a=''
for i in range(0,len(t),2):
a=a+t[i]
print(a)
【答案】' 13579'
【解析】每隔两个字符取一个字符,结果为 '13579'。
2. 写出下列程序的运行结果__________。
i = s1 = s2 = s3 = 2
while i < 10:
i = i + 1
if i // 2 == i / 2:
s1 = s1 + i
elif i // 3 == i / 3:
s2 = s2 + i
elif i % 5 == 0:
s3 = s3 + i
print(s1, s2, s3)
【答案】30 14 7
【解析】根据条件分别累加到 s1, s2, s3。
3. 写出下列程序的运行结果__________。
m=n=1
while True:
m=m+2
if m//2==m/2:
continue
elif m>=10:
break
else:
n=n+m
print(m,n)
【答案】11 25
【解析】循环中累加符合条件的值到 n,最终 m 超过 10 时退出
4. 写出下列程序的运行结果__________。
s=1
i=1
while i<=10:
i=i+1
if i%5!=0:
continue
s=s+i
print(i,s)
【答案】11 16
【解析】当 i 能被 5 整除时累加到 s,最终 i 超过 10 时退出。
三、程序设计题(本大题共4小题 共36分)
1.使用 for 循环语句计算自然数 1 至 20 的和,并将运算结果显示输出。(8分)
【答案】
s=0
for i in range(1,20):
s+=i
print(s)
【解析】
1.初始化变量:s = 0 用于存储累加的结果。
2.循环范围:range(1, 21) 生成从 1 到 20 的整数序列(注意:range 的结束值是开区间,因此用 21 来包含 20)。
3.累加过程:在每次循环中,将当前值 i 加到 s 中。
4.输出结果:循环结束后,s 包含了 1 至 20 的和,最后将其输出。
2.使用 for 循环语句,计算自然数 1 至 20 间的奇数和,并将运算结果显示输出。(8分)
【答案】
s=0
for i in range(1,20,2):
s+=i
print(s)
【解析】
1.初始化变量:s = 0 用于存储奇数累加的结果。
2.循环范围:range(1, 21, 2) 生成从 1 到 20 的奇数序列。range 的第三个参数是步长,设置为 2 可以跳过偶数。
3.累加过程:在每次循环中,将当前奇数值 i 加到 s 中。
4.输出结果:循环结束后,s 包含了 1 至 20 的奇数和,最后将其输出。
3.使用 for 循环语句,实现输入一个字符串,然后倒序显示输出。(10分)
【答案】
st=input("请输入字符串:")
nst=''
for i in st:
nst=i+nst
print(nst)
【解析】
1.输入字符串:st = input("请输入字符串:") 用于获取用户输入的字符串。
2.初始化变量:nst = '' 用于存储倒序后的字符串。
3.倒序拼接:在每次循环中,将当前字符 i 拼接到 nst 的前面,从而实现倒序。
4.输出结果:循环结束后,nst 包含了倒序后的字符串,最后将其输出。
4,使用for循环语句,实现输入5位同学的成绩,计算出平均分。(10分)
请输入第1位同学的成绩:80
请输入第2位同学的成绩:85
请输入第3位同学的成绩:90
请输入第4位同学的成绩:95
请输入第5位同学的成绩:86
平均分: 87.2
【答案】
s=0
for i in range(1,6):
s+=eval(input(f"请输入第{i}位同学的成绩:"))
print("平均分:",s/5)
【解析】
1.初始化变量:s = 0 用于存储成绩的累加和。
2.循环输入:for i in range(1, 6) 循环 5 次,分别输入 5 位同学的成绩。
3.累加成绩:在每次循环中,使用 eval(input(...)) 获取并转换用户输入的成绩,然后将其加到 s 中。
4.计算平均分:循环结束后,将累加和 s 除以 5,得到平均分。
5.输出结果:最后输出平均分。
学科网(北京)股份有限公司
$$