1.在Python3中,运行结果为:(B)
for i in range(10, 1, -2): print(i)
A.9,7,5,3,1
B.10,8,6,4,2
C.1,3,5,7,9
D.10,8,6,4,2,1
解析:
在Python3中,for循环语句用法为依次遍历序列内容,题目中range(start, end, step),索引从start开始到end-1结束,step表示在start和end-1之间的步长,当为负数时,表示生成的序列为倒序,则题目中生成的序列为 10,8,6,4,2。
2.在Python3中,下列程序循环的打印次数为:(B)
n = 1000 while n > 1: print(n) n = n / 2
A.9
B.10
C.11
D.无限循环
解析:
此题题意为:n 从1000开始循环,每次循环执行 n = n / 2,当循环因此循环10次后n≈1.95,下次循环n<1,n已不满足循环条件,故只循环打印10次。
3.在Python3的环境中,如下程序是实现找出1-10中奇数,则横线处应填写:(C)
for i in range(1, 11): if i % 2 == 0: ———————— print(i)
A.break
B.yield
C.continue
D.flag
解析:
程序中for循环从1开始到10结束,其中 if i % 2 == 0 表示 i 为偶数,题目要求找出奇数,则应该填写 continue 进行下一轮for循环,直到不满足 if i % 2 == 0 条件,运行 print(i) 打印数字。
4.执行下列选项的程序,会抛出异常的是:(D)
A.
a = 1 b = 2 a,b = b,a
B.
a,*b,c = range(5) print(a,b,c)
C.
lis = ['1','2'] a,b = list(map(int,lis)) print(a,b)
D.
tup = (1,(2,3)) a,b,c = tup print(a,b,c)
解析:
ABCD四个选项的程序都是可迭代元素拆包问题。A选项是两数交换的优雅写法;B选项,python允许使用*来处理剩下的参数;C选项是关于列表的拆包,让可迭代对象的元素一一赋值给对应的变量;D选项会抛出异常,这是因为对应变量不满足元组的嵌套结构,正确的写法应该是a,(b,c) = tup。
5.执行下列选项的程序,输出结果与其他三个选项不同的是:(B)
A.
a = [['1']*3 for i in range(3)] print(a)
B.
b = [['1']]*3 print(b)
C.
c = [] for i in range(3): lis = ['1'] * 3 c.append(lis) print(c)
D.
d = [] lis = ['1'] * 3 for i in range(3): d.append(lis) print(d)
解析:
B选项结果为[['1'], ['1'], ['1']],其他选项结果为[['1', '1', '1'], ['1', '1', '1'], ['1', '1', '1']]。