【Python程序设计】第五章 单元测验 答案与解析
azurekiln 发布于 阅读:4 Python程序设计
一. 单选题(共10题,100分)
-
(单选题) 以下for语句中,( )不能完成1-10的累加功能。
A.
for i in range(10,0): sum+=i
B.
for i in range(1,11): sum+=i
C.
for i in range(10,0,-1): sum+=i
D.
for i in range(10,9,8,7,6,5,4,3,2,1): sum+=i
答案:A
解析:A选项中,range(10, 0) 没有 step,实际无法执行该循环。
k=10
while k:
k=k-1
print(k)
-
(单选题) 上述循环语句,下面对该语句描述中正确的是( )。
A. while循环执行10次。
B. 循环是无限循环。
C. 循环体语句一次也不执行。
D. 循环体语句执行一次。
答案:A
解析:while k: 在 k != 0 时为真,k 从10递减到1,执行10次循环,打印从9到0,故选A。
while not E:
pass
-
(单选题) 该while语句中的表达式
not E
等价于 ( )。A.
E==0
B.
E!=1
C.
E!=0
D.
E==1
答案:A
解析:
not E
在布尔值中等价于E == 0
或False
,即当E == 0
时,not E
为真。
sum=0
for i in range(100):
if(i%10):
continue
sum=sum+i
print(sum)
-
(单选题) 该程序的运行结果是( )。
A. 5050
B. 4950
C. 450
D. 45
答案:C
解析:
i % 10
为 0 表示 i 是 10 的倍数,continue 跳过不是倍数的情况。
有效加数为 0, 10, 20, ... , 90,共 10 项。
和为:0 + 10 + 20 + ... + 90 = 450。
for i in range(1,3):
for j in range(2,5):
print(i*j)
-
(单选题) 该for循环执行后,输出结果的最后一行是( )。
A. 2
B. 6
C. 8
D. 15
答案:C
解析:外层循环:
i = 1, 2
;内层j = 2, 3, 4
;i*j
最后一组为2 * 4 = 8
→ 输出最后一行为 8。
-
(单选题) 下列说法中正确的是( )。
A. break用在for语句中,而continue用在while语句中。
B. break用在while语句中,而continue用在for语句中。
C. continue能结束循环,而break只能结束本次循环。
D. break能结束循环,而continue只能结束本次循环。
答案:D
解析:略。
-
(单选题) 执行
print(list(range(2,10,2)))
后运行结果是( )。A.
[2,4,6,8]
B.
[2,4,6,8,10]
C.
(2,4,6,8)
D.
(2,4,6,8,10)
答案:A
解析:range(2,10,2) → 从2到9,步长2,故选A。
for var in ____________ :
print var
-
(单选题) 选出对下列语句不符合语法要求的表达式( )。
A. range(0,10)
B. "Hello"
C. (1,2,3)
D. {1:2:3:4:5}
答案:D
解析:D选项中, {1:2:3:4:5} 不是合法的数据结构。
k=1000
while k>=1:
print(k)
k = k/2
-
(单选题) 若k为整型,该while循环执行的次数为( )。
A. 9
B. 10
C. 11
D. 1000
答案:B
解析:对 1000 连续除以 2,执行后为:1000 → 500 → 250 → 125 → 62.5 → 31.25 → 15.625 → 7.8125 → 3.90625 → 1.953125,一共10次循环,故选B。
n=5
while n>=2:
print(n)
n=n-1
-
(单选题) 该程序的输出结果是( )。
A. 5
B. 5 4 3 2 1
C. 5 4 3
D. 5 4 3 2
答案:D
解析:输出 5, 4, 3, 2(当 n 为 1 时跳出),共输出四个数,故选D。