华南理工大学 Python第6章课后测验-2
阅读原文时间:2023年07月09日阅读:1

1、(单选)以下关于语句 a = [1,2,3,(4,5)]的说法中,正确的个数有( )个。
(1)a是元组类型   (2)a是列表类型  
(3)a有5个元素      (4)a有4个元素
(5)a[1]的值为2  (6)在程序执行过程中,可以修改a中元素的值(本题分数:2)
A) 2
B) 3
C) 4
D) 5

【解析】1,3是错的
您的答案:C  正确率:100%

2、(单选)以下程序的执行结果是。

L = [1, 3, 5, 7, 9]
L.pop(-3)
L.remove(L[0])
print(L)

(本题分数:2)
A) [1,3,5,7,9]
B) [3,5,7,9]
C) [3,7,9]
D) [5,7,9]
您的答案:C  正确率:100%

3、(单选)以下集合的定义,会报错的是:(本题分数:2)
A) s={1,1,2,2}
B) s={1,'a'}
C) s={1,'a',[2,'b']}
D) s={1,'a',(2,'b')}

【解析】集合元素的类型不能是可变数据类型
您的答案:C  正确率:100%

4、(单选)修改组合数据类型的元素的值,以下操作哪个程序不会报错。(本题分数:2)
A)

s='hello'
s[0]='H'

B)

t=('h','e','l','l','o')
t[0]='H'

C)

t={'h','e','l','l','o'}
t[0]='H'

D)

t=['h','e','l','l','o']
t[0]='H'

您的答案:D  正确率:100%

5、(单选)di = {0:"a", 1:"b", 2:"c"},以下语句能将di中2:"c"更新为(2:"o")的是。(本题分数:2)
A) di[2]='o'
B) di.get(2,"o")
C) di.update(2,"o")
D) di+={2:'o'}
您的答案:A  正确率:100%

6、(单选)关于以下程序段的说法中,正确的有()个。

a = [1,2,[3,4]]
b = [1,2,(3,4)]

(1)变量a有3个元素  
(2)变量b是列表类型  
(3)语句b[1]=5不能正常执行
(4)a[2][0]的值为3  
(5)b[-1][1]的值为4  
(6)语句a[2][0]=5可以正常执行
(7)语句b[-1][1]=6可以正常执行(本题分数:2)
A) 4
B) 5
C) 6
D) 7

【解析】(3)错误(7)错误
您的答案:B  正确率:100%

7、(单选)di是一个字典类型的变量,以下不能打印出字典di中的键值的是。(本题分数:2)
A)

for x,y in di.items():
  print(x)

B)

for x in di.keys():
  print(x)

C)

for x in di:
  print(di[x])

D)

for x in di:
  print(x)

您的答案:C  正确率:100%

8、(单选)下列程序段的输出结果是()

s={1,3,5}
t={3,4,5}
print(s & t)

(本题分数:2)
A) {1}
B) {1,4}
C) {1,3,4,5}
D) {3,5}
您的答案:D  正确率:100%

9、(单选)对于一段英文文本,如果想按空格把每个单词分开,可以使用字符串的()方法。(本题分数:2)
A) print
B) split
C) seperate
D) cut
您的答案:B  正确率:100%

10、(单选)在Python语言中,要把一个中文句子按单词分开,可以使用()库。(本题分数:2)
A) turtle
B) math
C) jieba
D) random
您的答案:C  正确率:100%

11、(单选)下列哪个语句,可以得到“理工”这个分词?(本题分数:2)
A) jieba.cut("华南理工大学")
B) jieba.cut("华南理工大学",True)
C) jieba.lcut("华南理工大学")
D) jieba.lcut("华南理工大学",True)
您的答案:D  正确率:100%

12、(单选)函数jieba.lcut()得到的结果是()类型。(本题分数:2)
A) 元组
B) 列表
C) 集合
D) 字典
您的答案:B  正确率:100%

13、(单选)下列程序执行后,b是( )类型。

a=(85,75,76)
b=sorted(a)

(本题分数:2)
A) 元组
B) 列表
C) 集合
D) 字典
您的答案:B  正确率:100%

14、(单选)以下程序会报错的是(  )。(本题分数:2)
A)

s = ["a", "b", "c"]
print(s[1])

B)

s = ("a", "b", "c")
print(s[1])

C)

s = {"a", "b", "c"}
print(s[1])

D)

s = {0:"a", 1:"b", 2:"c"}
print(s[1])

您的答案:C  正确率:100%

15、(单选)以下程序的输出是。

L = ['a','b','c','d']
print("".join(L))

(本题分数:2)
A) a,b,c,d
B) abcd
C) [abcd]
D) [a,b,c,d]
您的答案:B  正确率:100%

16、(单选)以下程序的输出是。

y = 8
z = lambda x : x * y
print(z(6))

(本题分数:2)
A) 16
B) 64
C) 14
D) 48
您的答案:D  正确率:100%

17、(单选)

list1=[3, 4, 5, 20, 5, 25, 1, 3]

执行list1.pop(1)后list1的值是。(本题分数:2)
A) [3,4,5,20,5,25,3]
B) [4,5,20,5,25,1,3]
C) [3,5,20,5,25,1,3]
D) [3,4,5,20,5,25,1,3]
您的答案:C  正确率:100%

18、(单选)下列那个命令可以安装jieba库()(本题分数:2)
A) pip install jieba
B) pip unstall jieba
C) pip setup jieba
D) pip list jieba
您的答案:A  正确率:100%

19、(单选)以下代码的输出结果是

ls1= ["a", "b", "c"]
ls2=ls1
ls2[1]="d"
print(ls1[1])

(本题分数:2)
A) a
B) b
C) c
D) d

【解析】ls2=ls1不能进行列表的拷贝
您的答案:D  正确率:100%

20、(单选)以下程序的执行结果是

set1 = {1, 2, 3}
set2 = set1.copy()
set2.add(4)
print(set1)

(本题分数:2)
A) {1, 2, 3, 4}
B) {1, 2, 3}
C) None
D) 程序报错
您的答案:B  正确率:100%

21、(单选)以下程序的输出结果是。

set1 = {1, 2, 3}
set2 = {4, 5, 6}
print(len(set1 + set2)) 

(本题分数:2)
A) 3
B) 6
C) 0
D) 程序出错

【解析】两个set不能进行+运算
您的答案:D  正确率:100%

22、(单选)以下程序的输出结果是

str = 'python'
for i in range(len(str)):
    str[i].upper()
print (str)

(本题分数:2)
A) PYTHON
B) python
C) Python
D) 程序出错

【解析】对字符串的操作将产生一个新的字符串实例。
您的答案:B  正确率:100%

23、(单选)以下程序的执行结果是

my_tuple = (1, 2, 3, 4)
my_tuple.append( (4, 5, 6) )
print(len(my_tuple))

(本题分数:2)
A) 4
B) 6
C) 7
D) 程序出错

【解析】元组元素不能改变,没有append操作
您的答案:D  正确率:100%

24、(单选)以下程序的输出结果是

List = [True, 50, 10]
List.insert(2, 5)
print(List, "Sum is: ", sum(List)) 

(本题分数:2)
A) [True, 50, 10, 5] Sum is: 66
B) [True, 50, 5, 10] Sum is: 65
C) [True, 50, 5, 10] Sum is: 66
D) 程序报错
您的答案:C  正确率:100%

25、(单选)执行以下程序代码,值发生改变的列表是

L1 = [1, 2, 3, 4]
L2 = L1
L3 = L1.copy()
L4 = list(L1)
L1[0] = [5] 

(本题分数:2)
A) L1
B) L1和L2
C) L1,L2和L3
D) L1,L2,L3和L4
您的答案:B  正确率:100%

26、(单选)以下程序的执行结果是。

T1 = (1)
T2 = (3, 4)
T1 += 5
print(T1)
print(T1 + T2) 

(本题分数:2)
A) TypeError
B) (1, 5, 3, 4)
C) 1 TypeError
D) 6 TypeError

【解析】T1=(1)不是元组,要定义只有一个元素的元组,应该在元素后加逗号,例如(1,)
您的答案:D  正确率:100%

27、(单选)以下字典存储了学号和成绩信息,对字典按成绩从低到高排序,空白处的代码是(  ):

dt={'20200804':75, '20200805':64, '20200806':83}
s=sorted(dt.items(),key=_____)
print(s)

(本题分数:2)
A) lambda x:x[0]
B) lambda x:x[1]
C) dt.values()
D) dt.keys()
您的答案:B  正确率:100%

28、(单选)以下关于语句a= (1,2,3,[4,5])的说法中,正确的个数有( )个。
(1)a是元组类型   (2)a有5个元素 
(3)a[3]=6不会报错
(4)a[3][0]=6不会报错(本题分数:2)
A) 1
B) 2
C) 3
D) 4

【解析】(1)(4)正确
您的答案:B  正确率:100% 

29、(单选)

set1 = {1, 2, 3}
set2 = set1.copy()
set3 =set1
set4=set(set1)

针对以上程序,当对set1进行修改时,以下说法正确的是()。(本题分数:2)
A) set2发生改变
B) set3发生改变
C) set4发生改变
D) set2,set3和set4都发生改变
您的答案:B  正确率:100%

30、(单选)以下说法错误的是()。(本题分数:2)
A) 列表的元素可以是一个集合
B) 元组的元素可以是一个集合
C) 集合的元素可以是一个集合
D) 字典中的值可以是一个集合
您的答案:C  正确率:100%

31、(单选)不能对其中的元素进行索引的是()。(本题分数:2)
A) 列表
B) 元组
C) 集合
D) 字典
您的答案:C  正确率:100%

32、(程序填空)下列程序中,列表a保存的是学生姓名和考试成绩。用遍历的方式计算成绩的平均分,并按2位小数的格式输出平均分。请在(1),(2),(3)填上合适的内容。

a=[('张小明',86),('李明',90),('陈强',76),('百度',81),('谷歌',68)]
s=0
for x in a:
    s = s + __(1)__
print('平均分为{__(2)__}'.format(__(3)__))

(本题分数:9)

【参考答案】
(1) x[1]
(2) :.2f 或 0:.2f
(3) s/len(a)

33、(程序填空)字典score的键是学号,值是计算机,数学,英语的成绩。以下程序计算数学成绩大于或等于130的同学个数,请在(1),(2),(3)处填上合适的内容。

score={"202201":(105,139,125),"202202":(95,124,138),"202203":(117,120,119),"202204":(85,98,99)...}
__(1)__
for x in  __(2)__:
    if x[1] >=130:
        t=t+1
print("数学成绩大于等于130的同学有{}个".format(__(3)__))

(本题分数:9)

【参考答案】
(1) t=0
(2) score.values()
(3) t
第1,3空各15分,第2空70分

34、(程序填空)字典score的键是学号,值是语文,数学,英语,理综的成绩。以下程序计算数学成绩大于或等于130的同学个数,请在(1),(2)填上合适的内容。

score={"201901":(105,139,125,241),"201902":(95,124,138,260),"201903":(117,120,119,238),"201904":(85,98,99,187)...}
t=0
for x in  __(1)__:
    if __(2)__ >=130:
        t=t+1
print("数学成绩大于等于130的同学有{}个".format(t))

(本题分数:9)

【参考答案】
(1)score.items() (2) x[1][1]
或 (1)score.values() (2) x[1]
或 (1)score或score.keys() (2) score[x][1]
(1)和(2)必须匹配才算正确,每空50分。

35、(程序填空)用户输入一个整数n,生成长度为n的列表,将n个范围1~100的随机整数放入列表中。请在(1)、(2)、(3)填入合适的内容。

__(1)__ random
length = int(input("请输入列表的长度:"))
my_list = []
for i in range(length):
    # 获得一个随机整数
    num = __(2)__
    my_list.__(3)__(num)
print(my_list)

(本题分数:9)

【参考答案】
(1)import
(2)random.randint(1,100)或int(100*random.random()+1)
(3)append
评分标准:共3个空。(1)、(3)空各30分,(2)空40分。