2023年9月电子学会Python二级考试真题(含答案和解析)
分数:100      题数:37
一、单选题(共25题,共50分)
1.yyh=[2023,'杭州亚运会',['拱宸桥','玉琮''莲叶']]
jxw=yyh[2][0]
print(jxw[1]*2)
以上代码运行结果是?(A)
A.宸宸
B.杭杭
C.玉玉
D.州州
答案解析:jxw=yyh[2][0],jxw的值是“拱宸桥”,jxw[1]的值是“宸”,所以jww[1]*2的值是“宸宸”
2.阿宝在学习Python语言编程,他写了一个程序可以实现输入月份数字就可以输出2023年该月的天数。 程序如下:
monthdays=[0,31,28,31,30,31,30,31,31,30,31,30,31]
m=int(input())
print('2023年'+str(m)+'月有'+str(monthdays[m])+'天。')
要想得到2023年9月的天数,应该在终端输入的数字是?(C)
A.11
B.10
C.9
D.8
答案解析:列表的下标是从0开始的,但是week列表在定义的时候,第一个元素是0(从而排除了下标为0号的列表位置的月份),所以9月份的下标仍然是9,选择C。
3.下面这个列表中,包含几个元素?(B)
list = ['a', ['bb', 'cc', 'dd'], 'e', ['ff', 'gg'], 'h']
print(list)
A.8个
B.5个
C.6个
D.4个
答案解析:列表可以嵌套 列表中的元素同样可以是一个列表。list 这个列表中有 5 个元素,
其中 3 个是字符型,2 个是列表,list列表中又嵌套了2个列表,在判断列表中的嵌套时,我们主要是根据[]来进行判断:嵌套的列表共占元素的一个位置。
4.使用下列哪几个命令可以把列表list1变成列表list2?(A)
list1 = ['苹果', '樱桃', '西瓜', '香蕉', '葡萄', '菠萝', '芒果', '火龙果']
list2 = ['苹果', '樱桃', '西瓜', '香蕉', '葡萄', '菠萝', '桑葚', '番石榴']
A.
del list1[6:8]
list1 += ['桑葚', '番石榴']
B.
del list1[6:7]
list1 += ['桑葚', '番石榴']
C.
del list1[6:8]
list1.append(['桑葚', '番石榴'])
D.
del list1[6:7]
list1.append(['桑葚', '番石榴'])
答案解析:从列表中删除元素,只需要使用 del 就可以了。 del 列表名[],在 Python 中,我们使用+向列表中添加元素,添加的元素会自动的被添加到列表尾部:列表名 += [元素1,元素2,元素3,…,元素n] ,除了使用+,append() 也可以为列表添加元素,和+一样,也是在列表的结尾处添加元素,但是却是作为一个整体添加添加。
5.以下程序的输出结果是?(C)
list = ['华东','华西','华南','华北']
list.insert(2,'华中')
list.pop()
print(list)
A.['华东', '华西', '华中', '华南', '华北']
B.['华东', '华中', '华西', '华南', '华北']
C.['华东', '华西', '华中', '华南']
D.['华西', '华中', '华南', '华北']
答案解析:本题考查列表的插入和从列表的指定位置删除元素,2表示将元素插入至原列表索引为2的元素之前,.pop()方法无参数时默认删掉最后一个元素。
6.下列程序运行后,输出的结果应该是哪个选项?(D)
t = ('s', 'a', 'a', 'r', 5)
print(t.index('a')+t.count('a'))
A.2
B.3
C.4
D.5
答案解析:获取指定元素在元组中出现的次数count(),index方法:获取指定元素的下标(就近原则,从左往右,到第一个就结束)
7.numbers = [1 , 2 , 3 , 4],以下哪一项可以用来访问numbers中的第三个元素?(B)
A.numbers[1]
B.numbers[2]
C.numbers[3]
D.numbers[4]
答案解析:在 Python 中,列表的索引从 0 开始,所以 numbers 列表的第三个元素的索引为 2。
8.d = {"山东":"青岛", "浙江":"杭州", "安徽":"芜湖"} ,请问删除d中'山东'对应的数据值的函数或方法是?(C)
A.del d['浙江']
B.d.clear()
C.del d['山东']
D.d.pop('山东')
答案解析:选项 A:del d['浙江'] 用于删除字典 d 中键为'浙江'的键值对。选项 B:d.clear() 用于清空整个字典,删除其中所有的键值对。选项 C:del d['山东'] 用于删除字典 d 中键为'山东'的键值对,符合要求。选项 D:d.pop('山东') 用于删除字典 d 中键为'山东'的键值对,
并返回对应的值。
9.以下关于循环的说法,不正确的是?(C)
A.for循环可以用于遍历列表中的所有元素
B.while循环满足循环条件时不断地运行,直到指定的条件不满足为止
C.Python中可以使用do…while循环
D.break和continue语句都可以用在for循环和while循环中
答案解析:在 Python 中,没有 do...while 循环
10.执行以下程序代码
score = eval(input("请输入成绩:"))
if score > 0 and score < 60:
    print("不及格")
elif score >= 60 and score <=100:
    print("及格")
else:
    print("请输入正确的成绩")
当输入60时,输出结果是?(A)
A.及格
B.不及格
C.请输入正确的成绩
D.60
答案解析:该题考查程序的多选择分支结构,因为60介于60(含)和100之间,故输出结果为“及格”。
11.下列哪个说法不正确的是?(C)
一个介于0至5之间的字符串是什么
A.字典是通过key(键)来进行访问的,跟列表、元组不同
B.字典没有头上标和尾下标,跟value对应的就只有key(键)
C.Python中可以通过重新给字典当中的key赋值的方式修改对应的value,不能通过新增key的方式来添加新的元素
D.用Python内置函数是可以删除字典当中的元素的,整个字典也可以被清空或者删除
答案解析:Python中可以通过重新给字典当中的key赋值的方式修改对应的value,也可以通过新增key的方式来添加新的元素;
12.请问此程序运行后的结果是?(A)
s=1
for i in range(1,4,3):
    s = s+i
print(s)
A.2
B.6
C.1
D.5
答案解析:range(1,4,3)  这个包含的数据是1,不包含4。所以:1+1=2
13.关于Python循环结构的说法,下列哪个是错误的?(C)
A.Python可以通过for和while循环,实现遍历和各种循环等功能
B.break是用来跳出自己所在的整个循环体,执行循环后面的语句
C.continue结束整个循环过程,不再判断循环的执行条件,继续顺序执行循环后面的语句
D.遍历循环中的遍历结构可以是字符串或者range()函数等
答案解析:continue 语句跳出本次循环,而break跳出整个循环。即break才是结束整个循环过程
14.下面几个有关流程控制的说法,那个是错误的?(C)
A.如果条件判断语句永远为 true,循环将会无限的执行下去
B.当判断条件为假(false) 时,循环结束
C.在while 语句中,"判断条件"不可以是个常值
D.执行语句可以是单个语句或语句块。判断条件可以是任何表达式等
答案解析:while 语句时,"判断条件"可以是个常值,表示循环必定成立。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。