内容正文:
编写说明:安徽省普通高校对口招生专业理论考试《计算机类考纲百套卷》,依据《安徽省普通高校对口招生计算机类专业课考试纲要》编写。每门课程均分三层训练:紧扣考纲 “掌握”“理解” 要求编写考点训练卷;强化知识交叉与场景关联,按考纲专题编专题训练卷;聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第12卷,按《计算机编程基础-Python语言》范围和要求编写。具体内容为:Python元组的定义、创建元组、元组封装、元组连接和重复、索引和切片、元组比较和函数。
安徽省《计算机考纲百套卷》 第12卷
《计算机编程基础-Python语言》
元组 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共25小题,每题2分,共50分)
1.下列关于Python元组的描述,正确的是( )。
A. 元组中的元素可以动态增删
B. 元组一旦创建,其元素不可修改
C. 元组只能包含同一种数据类型的元素
D. 元组使用方括号定义
【答案】B
【解析】
A错误:元组是不可变对象,不支持增删元素。
B正确:元组创建后元素不能修改。
C错误:元组可以包含任意类型的元素,可以混合。
D错误:元组使用圆括号 () 定义,方括号 [] 用于列表。
2.下列哪个表达式创建一个包含整数1的元组( )。
A. (1)
B. [1]
C. (1,)
D. {1}
【答案】C
【解析】
A:(1) 只是整数1,因为括号被当作数学运算的括号,不是元组。
B:[1] 是列表。
C:(1,) 是单元素元组,必须加逗号。
D:{1} 是集合。
3.执行 t = (1, 2, 3); t[1] = 4 的结果是( )。
A. (1, 4, 3)
B. (1, 2, 3)
C. 抛出 TypeError
D. 抛出 IndexError
【答案】C
【解析】元组是不可变对象,不允许修改元素。尝试赋值会引发 TypeError,而不是索引越界。
4.执行a=8,;print(a)的结果是( )。
A. 8
B. (8,)
C. [8]
D. [8,]
【答案】B
【解析】a=8,中的逗号表示元组封装,将整数8封装成单元素元组(8,)。打印结果为(8,)。
5.执行 t = tuple({1: 'a', 2: 'b', 3: 'c'}) 后,t 的值是( )。
A. (1, 2, 3)
B. (1, 'a', 2, 'b', 3, 'c')
C. ('a', 'b', 'c')
D. ((1, 'a'), (2, 'b'), (3, 'c'))
【答案】A
【解析】tuple()对字典转换时,默认取字典的键组成元组,而非键值对。因此结果为(1, 2, 3)。
6.下列哪个语句会将变量 a 的值设置为元组 (5,)( )。
A. a = 5,
B. a = (5)
C. a = [5]
D. a = tuple(5)
【答案】A
【解析】
A:逗号封装,得到 (5,)。
B:得到整数5。
C:得到列表 [5]。
D:tuple(5) 报错,因为 tuple() 的参数必须是可迭代对象。
7.执行 x, y, z = (10, 20, 30) 后,y 的值是( )。
A. 10
B. 20
C. 30
D. (10, 20, 30)
【答案】B
【解析】序列拆封将右侧元组的元素按顺序赋给左侧变量,y得到第二个元素20。
8.执行 a, b = [1, 2, 3] 的结果是( )。
A. a=1, b=2
B. a=1, b=[2,3]
C. 抛出 ValueError
D. 抛出 TypeError
【答案】C
【解析】左侧变量个数(2)与右侧序列元素个数(3)不匹配,序列拆封会引发ValueError。
9.表达式 (1, 2) + (3, 4) 的结果是( )。
A. (1, 2, 3, 4)
B. (4, 6)
C. [1, 2, 3, 4]
D. 报错
【答案】A
【解析】元组连接使用+运算符,返回两个元组元素拼接而成的新元组。
10.表达式 (1, 2) * 3 的结果是( )。
A. (1, 2, 3)
B. (3, 6)
C. (1, 2, 1, 2, 1, 2)
D. (1, 2, 1, 2)
【答案】C
【解析】元组与整数相乘表示重复连接,将元组重复整数次,结果(1,2,1,2,1,2)。
11.对于元组 t = (5, 3, 8, 3, 2),表达式 t[1:4:2] 的结果是( )。
A. (3, 8)
B. (3, 3)
C. (3, 8, 3)
D. (3, 2)
【答案】B
【解析】切片 [1:4:2]:起始索引1(值3),结束索引4(不含),步长2。取索引1和3,值分别为3和3,得 (3,3)
12.下列哪个表达式的结果为 False( )。
A. (1, 2) > (1, 1, 3)
B. (2, 1) > (1, 2)
C. (1, 2, 3) > (1, 2)
D. (1, 2) > (1, 2, 0)
【答案】D
【解析】
元组比较逐元素:
A:1==1,然后2>1 → True
B:2>1 → True
C:前两个相等,第三个元素3 > 无 → 短列表视为小,所以 (1,2,3) > (1,2) 为 True
D:前两个相等,右侧还有第三个元素0,短列表小于长列表,所以 (1,2) 小于 (1,2,0),结果为 False
13.执行 3 in (1, 2, 3.0, 4) 的结果是( )。
A. True
B. False
C. 报错
D. None
【答案】A
【解析】in运算符判断元素是否存在,整数3与浮点数3.0在数值上相等,因此返回 True。
14.下列关于元组与列表的说法,错误的是( )。
A. 元组是不可变对象,列表是可变对象
B. 元组和列表都支持索引和切片
C. 元组和列表都可以使用 + 和 * 运算
D. 元组和列表都支持 append() 方法
【答案】D
【解析】D错误:元组不可变,没有append()方法;列表有append()
15.执行 del t 删除元组 t 后,再次访问 t 会( )。
A. 抛出 NameError
B. 返回空元组
C. 抛出 TypeError
D. 返回 None
【答案】A
【解析】del t删除变量t的引用,之后访问t会引发NameError,表示该变量未定义。
16.表达式 tuple('python') 的结果是( )。
A. ('p', 'y', 't', 'h', 'o', 'n')
B. 'python'
C. ('python',)
D. ['p', 'y', 't', 'h', 'o', 'n']
【答案】A
【解析】tuple()将字符串的每个字符作为元素生成元组。
17.执行 t = (1, 2, 3); print(t.count(2)) 的输出是( )。
A. 1
B. 2
C. 3
D. 0
【答案】A
【解析】元组中元素2出现1次,count()返回1
18.执行 t = (1, 2, 3, 2, 4); print(t.index(2, 2)) 的输出是( )。
A. 1
B. 2
C. 3
D. 4
【答案】C
【解析】index(2, 2)从索引2开始查找元素2。索引2的值是3,索引3的值是2,因此返回索引3
19.执行 t = (1, 2, 3); t.index(5) 的结果是( )。
A. -1
B. 抛出 ValueError
C. 0
D. 抛出 TypeError
【答案】B
【解析】index()在元素不存在时抛出ValueError,而不是返回-1(find()方法才返回-1,但元组没有find())
20.下列哪个语句可以删除整个元组( )。
A. del t[0]
B. t.clear()
C. del t
D. t.remove(0)
【答案】C
【解析】
A:del t[0] 试图删除元组元素,元组不支持,报错。
B:元组没有 clear()方法。
C:del t 删除变量t本身。
D:元组没有 remove()方法。
21.表达式 (1, 2) == [1, 2] 的结果是( )。
A. True
B. False
C. 报错
D. None
【答案】B
【解析】不同类型对象比较,元组与列表即使元素相同,也不相等,返回 False
22.执行 x, y = (1, 2, 3) 会引发( )。
A. TypeError
B. ValueError
C. IndexError
D. 正常运行
【答案】B
【解析】左侧变量个数(2)与右侧元组元素个数(3)不匹配,序列拆封抛出ValueError
23.执行 a = 2; print(type(a)) 的输出是( )。
A. <class 'tuple'>
B. <class 'int'>
C. <class 'list'>
D. <class 'set'>
【答案】B
【解析】直接赋值整数,类型为int。注意:没有逗号,所以不是元组。
24.执行 t = (1, 2, 3); t = t + (4, 5); print(t) 的输出是( )。
A. (1, 2, 3, 4, 5)
B. (1, 2, 3, (4, 5))
C. (1, 2, 3, 4, 5)
D. 报错
【答案】A
【解析】元组连接生成新元组,(1,2,3)+(4,5) 得到(1,2,3,4,5),然后重新赋值给t,打印输出该元组。注意选项A和C内容相同,但标准答案A。
25.对于元组 t = (1, 2, 3),下列哪个操作会改变 t 的内容( )。
A. t[1:3]=(5,6)
B. t[0] = 10
C. t.append(4)
D. t = t + (4,)
【答案】D
【解析】A、B、C 都会导致错误,因为元组不可变。
D 将 t 重新绑定到一个新元组,原元组并未改变,但变量 t 指向了新对象,题目可能将“改变 t 的内容”理解为变量指向的内容变化。实际上只有 D 能成功执行并让 t 指向新元组,但原元组 (1,2,3) 未被修改。严格说,没有操作能修改元组本身,但 D 是唯一能改变 t 指向的合法操作。
2、 填空题(本大题共25小题,每题2分,共50分)
1.在Python中,元组使用圆括号定义,元素之间用_________分隔。
【答案】逗号(或 ,)
【解析】元组元素之间使用逗号分隔。
2.创建只有一个元素的元组时,必须在元素后面添加 ________。
【答案】逗号
【解析】单元素元组必须在元素后加逗号,否则被解释为普通括号运算。
3.tuple("hello world")[:2:-3]的结果是 ________。
【答案】('d', 'o', 'o')
【解析】tuple("hello world") 得到 ('h','e','l','l','o',' ','w','o','r','l','d')
切片 [:2:-3]:起始默认为末尾(索引-1),结束索引2(不含),步长-3。从右向左每3个取一个,直到索引2之前。索引-1(d),-4(o),-7(o),索引-10? 实际取到索引2之前。计算:-1→d, -4→o, -7→o,得到 ('d','o','o')
4.t=(1,2,3,4,5,6,7,8);t[7:2:-2]的结果是 ________。
【答案】(8, 6, 4)
【解析】切片[7:2:-2]:起始索引7(值8),结束索引2(不含),步长-2。取索引7,5,3:8,6,4
5.通过 ________ 操作可以将一个序列转换为元组。
【答案】tuple()
【解析】tuple()函数可以将可迭代对象转换为元组。
6.表达式 (2,)*3+(3,4) 的结果是 ________。
【答案】(2, 2, 2, 3, 4)
【解析】(2,)*3得(2,2,2),再与(3,4)连接得(2,2,2,3,4)。
7.表达式 (1, 2) * 3 的结果是 ________。
【答案】(1, 2, 1, 2, 1, 2)
【解析】重复连接三次。
8.元组封装是指使用 ________ 分隔的值自动组成元组。
【答案】逗号
【解析】例如 a=1,2,3 自动封装为(1,2,3)
9.x, y, z = (1, 2, 3);x,y,z=x+y,y+z,x+z;print(x+y+z)的结果为________。
【答案】12
【解析】拆封后 x=1,y=2,z=3
右侧计算:x+y=3, y+z=5, x+z=4,分别赋给 x,y,z
最终 x+y+z=3+5+4=12
10.t=(1,2,[4,5,6]);t[2][1]=10;print(t[2])的结果为________。
【答案】[4, 10, 6]
【解析】元组不可变,但其内部的列表是可变的,可以修改列表元素。t[2]是列表[4,5,6],修改索引1为10,列表变为[4,10,6]。
11.t=((1,),(2));type(t[0])==type(t[1])的结果为________。
【答案】False
【解析】t = ((1,), (2)),注意(2)是整数2,不是元组。所以t[0]是元组 (1,),类型 <class 'tuple'>;t[1] 是整数2,类型 <class 'int'>。两者类型不同,比较结果为 False。
12.可以使用 ________ 运算符判断一个元素是否存在于元组中。
【答案】in
【解析】成员运算符in用于判断元素是否在序列中
13.(2,4,5)>=(2,4,5,0)的结果为 ________。
【答案】False
【解析】元组比较时,前三个元素相等,左侧元组长度短,短列表被视为小于长列表,因此(2,4,5) < (2,4,5,0),所以>=结果为 False。
14.执行 t = (1, 2, 3, 2.0, 4); t.count(2)的结果为________。
【答案】2
【解析】整数2与浮点数2.0在数值上相等,count()会统计二者。元素2和2.0都匹配,返回2。
15.执行 t = (1, 2, 3, 2, 4); t.index(2, 2) 的结果是 ________。
【答案】3
【解析】从索引2开始查找元素2,索引2值为3,索引3值为2,返回3。
16.元组中的元素可以是任意类型________(填"正确"、"错误")。
【答案】正确
【解析】元组可以包含任何类型的对象,包括可变对象。
17.使用关键字________ 语句可以删除整个元组对象。
【答案】del
【解析】del 语句删除变量,释放对象引用。
18.len((1,2,3)*3+(4,5)*2)的结果是 ________。
【答案】13
【解析】
(1,2,3)*3 长度3*3=9
(4,5)*2 长度2*2=4
总长度 9+4=13
19.执行 t = (2, 3, 4); t = t + (5,) 后,t 的值是 ________。
【答案】(2, 3, 4, 5)
【解析】元组连接生成新元组,t重新绑定到新元组。
20.a,b,c=(2,3,4);print(b**2//b%a)的结果是 ________。
【答案】1
【解析】b=3,b**2=9,9//b=9//3=3,3%a=3%2=1
21.len(tuple("python")+tuple("world"))的结果是 ________。
【答案】11
【解析】
tuple("python") 长度6
tuple("world") 长度5
连接后长度11
22.t=(1,2,3,4,5,6,7,8);t[2::6]的结果是 ________。
【答案】(3,)
【解析】切片[2::6]:起始索引2(值3),步长6,后续索引8超出范围,只取一个元素,结果为单元素元组(3,)
23.元组与列表的主要区别是元组 ________,列表 ________。
【答案】不可变、可变
【解析】元组不可变,列表可变
24.执行 t = (9,); print(type(t)) 的输出是 ________。
【答案】<class 'tuple'>
【解析】单元素元组,类型为元组
25.t = (1, 2, 3); print(t[1:]+t[:1:-1])的结果是 ________。
【答案】(2, 3, 3)
【解析】
t[1:] = (2,3)
t[:1:-1] = 从末尾到索引1(不含),步长-1:索引-1(3) → (3,)
连接得 (2,3,3)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:安徽省普通高校对口招生专业理论考试《计算机类考纲百套卷》,依据《安徽省普通高校对口招生计算机类专业课考试纲要》编写。每门课程均分三层训练:紧扣考纲 “掌握”“理解” 要求编写考点训练卷;强化知识交叉与场景关联,按考纲专题编专题训练卷;聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第12卷,按《计算机编程基础-Python语言》范围和要求编写。具体内容为:Python元组的定义、创建元组、元组封装、元组连接和重复、索引和切片、元组比较和函数。
安徽省《计算机考纲百套卷》 第12卷
《计算机编程基础-Python语言》
元组 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共25小题,每题2分,共50分)
1.下列关于Python元组的描述,正确的是( )。
A. 元组中的元素可以动态增删
B. 元组一旦创建,其元素不可修改
C. 元组只能包含同一种数据类型的元素
D. 元组使用方括号定义
2.下列哪个表达式创建一个包含整数1的元组( )。
A. (1)
B. [1]
C. (1,)
D. {1}
3.执行 t = (1, 2, 3); t[1] = 4 的结果是( )。
A. (1, 4, 3)
B. (1, 2, 3)
C. 抛出 TypeError
D. 抛出 IndexError
4.执行a=8,;print(a)的结果是( )。
A. 8
B. (8,)
C. [8]
D. [8,]
5.执行 t = tuple({1: 'a', 2: 'b', 3: 'c'}) 后,t 的值是( )。
A. (1, 2, 3)
B. (1, 'a', 2, 'b', 3, 'c')
C. ('a', 'b', 'c')
D. ((1, 'a'), (2, 'b'), (3, 'c'))
6.下列哪个语句会将变量 a 的值设置为元组 (5,)( )。
A. a = 5,
B. a = (5)
C. a = [5]
D. a = tuple(5)
7.执行 x, y, z = (10, 20, 30) 后,y 的值是( )。
A. 10
B. 20
C. 30
D. (10, 20, 30)
8.执行 a, b = [1, 2, 3] 的结果是( )。
A. a=1, b=2
B. a=1, b=[2,3]
C. 抛出 ValueError
D. 抛出 TypeError
9.表达式 (1, 2) + (3, 4) 的结果是( )。
A. (1, 2, 3, 4)
B. (4, 6)
C. [1, 2, 3, 4]
D. 报错
10.表达式 (1, 2) * 3 的结果是( )。
A. (1, 2, 3)
B. (3, 6)
C. (1, 2, 1, 2, 1, 2)
D. (1, 2, 1, 2)
11.对于元组 t = (5, 3, 8, 3, 2),表达式 t[1:4:2] 的结果是( )。
A. (3, 8)
B. (3, 3)
C. (3, 8, 3)
D. (3, 2)
12.下列哪个表达式的结果为 False( )。
A. (1, 2) > (1, 1, 3)
B. (2, 1) > (1, 2)
C. (1, 2, 3) > (1, 2)
D. (1, 2) > (1, 2, 0)
13.执行 3 in (1, 2, 3.0, 4) 的结果是( )。
A. True
B. False
C. 报错
D. None
14.下列关于元组与列表的说法,错误的是( )。
A. 元组是不可变对象,列表是可变对象
B. 元组和列表都支持索引和切片
C. 元组和列表都可以使用 + 和 * 运算
D. 元组和列表都支持 append() 方法
15.执行 del t 删除元组 t 后,再次访问 t 会( )。
A. 抛出 NameError
B. 返回空元组
C. 抛出 TypeError
D. 返回 None
16.表达式 tuple('python') 的结果是( )。
A. ('p', 'y', 't', 'h', 'o', 'n')
B. 'python'
C. ('python',)
D. ['p', 'y', 't', 'h', 'o', 'n']
17.执行 t = (1, 2, 3); print(t.count(2)) 的输出是( )。
A. 1
B. 2
C. 3
D. 0
18.执行 t = (1, 2, 3, 2, 4); print(t.index(2, 2)) 的输出是( )。
A. 1
B. 2
C. 3
D. 4
19.执行 t = (1, 2, 3); t.index(5) 的结果是( )。
A. -1
B. 抛出 ValueError
C. 0
D. 抛出 TypeError
20.下列哪个语句可以删除整个元组( )。
A. del t[0]
B. t.clear()
C. del t
D. t.remove(0)
21.表达式 (1, 2) == [1, 2] 的结果是( )。
A. True
B. False
C. 报错
D. None
22.执行 x, y = (1, 2, 3) 会引发( )。
A. TypeError
B. ValueError
C. IndexError
D. 正常运行
23.执行 a = 2; print(type(a)) 的输出是( )。
A. <class 'tuple'>
B. <class 'int'>
C. <class 'list'>
D. <class 'set'>
24.执行 t = (1, 2, 3); t = t + (4, 5); print(t) 的输出是( )。
A. (1, 2, 3, 4, 5)
B. (1, 2, 3, (4, 5))
C. (1, 2, 3, 4, 5)
D. 报错
25.对于元组 t = (1, 2, 3),下列哪个操作会改变 t 的内容( )。
A. t[1:3]=(5,6)
B. t[0] = 10
C. t.append(4)
D. t = t + (4,)
2、 填空题(本大题共25小题,每题2分,共50分)
1.在Python中,元组使用圆括号定义,元素之间用_________分隔。
2.创建只有一个元素的元组时,必须在元素后面添加 ________。
3.tuple("hello world")[:2:-3]的结果是 ________。
4.t=(1,2,3,4,5,6,7,8);t[7:2:-2]的结果是 ________。
5.通过 ________ 操作可以将一个序列转换为元组。
6.表达式 (2,)*3+(3,4) 的结果是 ________。
7.表达式 (1, 2) * 3 的结果是 ________。
8.元组封装是指使用 ________ 分隔的值自动组成元组。
9.x, y, z = (1, 2, 3);x,y,z=x+y,y+z,x+z;print(x+y+z)的结果为________。
10.t=(1,2,[4,5,6]);t[2][1]=10;print(t[2])的结果为________。
11.t=((1,),(2));type(t[0])==type(t[1])的结果为________。
12.可以使用 ________ 运算符判断一个元素是否存在于元组中。
13.(2,4,5)>=(2,4,5,0)的结果为 ________。
14.执行 t = (1, 2, 3, 2.0, 4); t.count(2)的结果为________。
15.执行 t = (1, 2, 3, 2, 4); t.index(2, 2) 的结果是 ________。
16.元组中的元素可以是任意类型________(填"正确"、"错误")。
17.使用关键字________ 语句可以删除整个元组对象。
18.len((1,2,3)*3+(4,5)*2)的结果是 ________。
19.执行 t = (2, 3, 4); t = t + (5,) 后,t 的值是 ________。
20.a,b,c=(2,3,4);print(b**2//b%a)的结果是 ________。
21.len(tuple("python")+tuple("world"))的结果是 ________。
22.t=(1,2,3,4,5,6,7,8);t[2::6]的结果是 ________。
23.元组与列表的主要区别是元组 ________,列表 ________。
24.执行 t = (9,); print(type(t)) 的输出是 ________。
25.t = (1, 2, 3); print(t[1:]+t[:1:-1])的结果是 ________。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$