【电子学会】2021年09月Python二级试题

本文提供了2021年9月Python二级考试的部分试题及答案解析,涵盖单选题、判断题和编程题,涉及Python基本语法、数据结构、元组、字典、列表等知识点。
摘要由CSDN通过智能技术生成

一、单选题(共25题,每题2分,共50分)

1、有如下Python程序段:

x, y = 12, 5

if x % y == 0:
    z = x / y
    print(x, "/", y, "=", z)
else:
    z = y * x
    print(x, "*", y, "=", z)

程序段执行后,输出的结果为?( )

  • A. x/y = 2.4
  • B. x*y = 60
  • C. 12/5 = 2.4
  • D. 12*5 = 60

标准答案:D

试题解析:因为x%y=2,因此执行else中的语句,即z=60,输出结果为12*5=60,答案为D。

2、下列创建元组的方法中不正确的是?( )

  • A. t = (1,2,‘信息’)
  • B. t = (1)
  • C. t = (‘信息’,)
  • D. t = ‘音乐’,‘体育’,‘美术’

标准答案:B

试题解析:只有一个元素的元组,在定义时,需要添加一个逗号,t=(1,)

3、

s = '语文、数学、英语、信息技术'
l = s.split('、')
print(l)

以上代码的运行结果为?( )

  • A. [‘语文’, ‘数学’, ‘英语’, ‘信息技术’]
  • B. [‘语文、数学、英语、信息技术’]
  • C. (‘语文’, ‘数学’, ‘英语’, ‘信息技术’)
  • D. (‘语文、数学、英语、信息技术’)

标准答案:A

试题解析:split() 通过指定分隔符对字符串进行切片,返回分割后的字符串列表。语法:str.split(str=“”,num=string.count(str)).本题中str分隔符为"、",所以被分隔为[‘语文’, ‘数学’, ‘英语’, ‘信息技术’]

4、已知存在字典a中有多个键值对,以下指令可以清空字典并保留变量的是?( )

  • A. a.remove()
  • B. a.pop()
  • C. a.clear()
  • D. del a

标准答案:C

试题解析:根据题意应该选择C

5、以下程序的运行结果是?( )

list1 = [1, 2, 3]
list1[2] = 4
print(list1)
  • A. [1,2,4]
  • B. [1,2,3]
  • C. [1,4,3]
  • D. [1,4]

标准答案:A

6、执行下列代码后,运行结果是?( )

l1 = [11, 22, 33]
l2 = [66, 44, 22]

for i in l1:
    for j in l2:
        if i == j:
            print(i)
  • A. True
  • B. 0
  • C. 2
  • D. 22

标准答案:D

试题解析:掌握循环嵌套的使用

7、执行以下语句后的输出结果是?( )

str1 = 'My name is BeiJing'
print(len(str1))
  • A. 20
  • B. 18
  • C. 15
  • D. 16

标准答案:B

8、列表 a = [1, 2, 3, 4, 5, 6, 7, 8, 9],对列表进行切片操作,要想得到[3, 5, 7],以下切片正确的是?( )

  • A. a[-7:-2:-2]
  • B. a[2:7:2]
  • C. a[3:7:2]
  • D. a[2:7:-2]

标准答案:B

9、执行以下语句,将输出?( )

list1 = ['b', 'c', 1, 2, 3, 4, 5]
list1.append('a')
list1.append('a')
list1
  • A. [‘b’,‘c’,1,2,3,4,5]
  • B. [‘b’,‘c’,1,2,3,4,5,‘a’]
  • C. [‘b’,‘c’,1,2,3,4,5,‘a’,‘a’]
  • D. 无输出

标准答案:C

10、不能用作if语句条件表达式的是?( )

  • A. x in range(6)
  • B. 3=a
  • C. a>3 and b<10
  • D. x-6>5

标准答案:B

试题解析:能够合理设置if语句的条件

11、执行以下语句后,输出的结果是?( )

list2 = ['a', 1, 2, 3, 4, 5]
print(list2[5])
  • A. 5
  • B. 4
  • C. 3
  • D. 提示错误

标准答案:A

12、alist = [‘cat’,‘bat’,‘cat’,‘hat’,‘cat’],执行下列代码,输出的结果是?( )

alist.remove('cat')
print(alist)
  • A. [‘cat’,‘bat’,‘cat’,‘hat’,‘cat’]
  • B. [‘bat’,‘cat’,‘hat’,‘cat’]
  • C. [‘bat’,‘hat’]
  • D. [‘cat’,‘bat’,‘cat’,‘hat’]

标准答案:B

13、以下创建字典的方法,正确的是?( )

  • A. d={学号,001,姓名,张三,成绩,98}
  • B. d={‘学号’:‘001’,‘姓名’:‘张三’,‘成绩’:98}
  • C. d={‘学号’,‘001’,‘姓名’,‘张三’,‘成绩’,98}
  • D. d={‘学号’:‘001’;‘姓名’:‘张三’;‘成绩’:98}

标准答案:B

14、以下代码输出的结果是?( )

for i in "Python":
    if i == "t" or i == "o":
        continue
    print(i, end="")
  • A. Pyhn
  • B. Python
  • C. Pyt
  • D. Pytho

标准答案:A

试题解析:continue的意思是“继续”,所以可以理解为:跳过本次循环的剩余代码,但循环还要继续运行

15、对于字典dic = {1:2,‘3’:‘d’,‘sex’:1,4:{‘No’:1,‘name’:‘Mike’}},len(dic)的值是?( )

  • A. 3
  • B. 4
  • C. 5
  • D. 6

标准答案:B

16、对于元组tup = (1,2,3,4,5)执行的操作非法的是?( )

  • A. len(tup)
  • B. max(tup)
  • C. min(tup)
  • D. tup[1] = 6

标准答案:D

17、水果店促销每斤苹果5元,如果购买六斤及六斤以上还可以打八折,小红去买苹果,下面的哪一个的Python程序语句可以帮小红算一下她买苹果得花多少钱(具体购买斤数由小红输入)?( )

  • A.
x = input("请输入斤数:")
if x < 6:
    y = 5 * x
else:
    y = 5 * x * 0.8
print(y)
  • B.
x = eval(input("请输入斤数:"))
if x < 6:
    y = 5 * x
else:
    y = 5 * x * 0.8
print(y)
  • C.
x = eval(input("请输入斤数:"))
if x < 6:
    y = 5 * x * 0.8
else:
    y = 5 * x
print(y)
  • D.
x = input("请输入斤数:")
if x < 6:
    y = 5 * x * 0.8
else:
    y = 5 * x
print(y)

标准答案:B

18、执行下列代码后,运行结果是?( )

s = "垃圾分类"
i = len(s)
while i >= 0:
    print(s[i - 1])
    i = i - 1
  • A.
类
分
圾
垃
  • B.
垃
圾
分
类
  • C.
垃
圾
分
类
垃
  • D.
类
分
圾
垃
类

标准答案:D

试题解析:掌握字符串长度函数的使用,理解元素索引值的变化

19、在列表a中存放1-100之间所有的奇数,可以有多种方法,以下哪种方法是错误的?( )

  • A. a=list(range(1,100,2))
  • B. a=range(1,101,2)
  • C.
a = []
i = 1
while i < 100:
    a.append(i)
    i += 2
  • D.
a = []
for i in range(1, 100, 2):
    a.append(i)

标准答案:B

试题解析:range

20、若 li = list(range(1,10,2)),则print(li)的结果是?( )

  • A. [0,2,4,6,8,10]
  • B. [1,3,5,7,9]
  • C. [1,2,3,4,5,6,7,8,9,10]
  • D. [0,2,4,6,8]

标准答案:B

试题解析:掌握range函数以及list类型转换函数的使用

21、已知a = [‘a’, ‘b’],b = [7, 8, 9],如果c = a*2 + b,那么列表c是?( )

  • A. [‘a’, ‘b’, ‘a’, ‘b’, 7, 8, 9]
  • B. [‘a’, ‘b’, 2, 7, 8, 9]
  • C. [‘a’, ‘b’, 7, 8, 9, ‘a’, ‘b’]
  • D. [‘a’, ‘b’, ‘a’, ‘b’, 7, 8, 9, 7, 8, 9]

标准答案:A

试题解析:本题知识点是列表的连接和重复列表元素,根据题意A选项是正确答案

22、已知 a = [1, 2, 3, 4, 5, 6, 7],则a[0:-2]的的值是?( )

  • A. [1, 2, 3, 4, 5, 6]
  • B. [2, 3, 4, 5, 6]
  • C. [1, 2, 3, 4, 5]
  • D. [2, 3, 4, 5]

标准答案:C

试题解析:本题的知识点是列表的通用操作,访问指定索引范围,按题目的意思是访问第一到倒数第二个元素(但不包含倒数第二个),所以选择c

23、以下语句不正确的是?( )

  • A. dict = {1:‘a’}
  • B. a = {‘name’:‘bob’}
  • C. e = {[1]:‘篮球’}
  • D. c = {‘school’:‘精英小学’}

标准答案:C

试题解析:定义字典时,键和值是文本时,需要使用引号。字典键不可以使用列表

24、关于 break的作用,以下说法正确的是?( )

  • A. 按照缩进跳出当前层语句块
  • B. 暂停该语句后面的循环内容,跳转到循环开始位置开始下一轮循环
  • C. 跳出当前层for/while循环
  • D. 跳出所有for/while循环

标准答案:C

25、若s = (1,‘a’,[1,2]),则len(s)的值为?( )

  • A. 错误
  • B. 2
  • C. 3
  • D. 4

标准答案:C

试题解析:理解元组的元素,掌握求元组长度的函数

二、判断题(共10题,每题2分,共20分)

26、while循环和for-in循环一样,都明确了循环的次数。

  • 正确();错误();

标准答案:×

试题解析:while循环是条件循环

27、可以使用“+”和“-”来连接与删除字符串。

  • 正确();错误();

标准答案:×

试题解析:字符串的运算

28、不同类型的元素可以存储在同一个列表中。

  • 正确();错误();

标准答案:√<

29、循环结构中的continue语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。

  • 正确();错误();

标准答案:√

试题解析:循环结构中的break语句的功能是中断当前循环的执行,跳出循环结构;continue语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。因此,说法正确。

30、ESC可以用于Python跳出循环。

  • 正确();错误();

标准答案:×

试题解析:break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

31、按照顺序执行下面的代码,以下命令都是合法的。

list1 = [1, 2, 3]
list1[2] = 4
tuple1 = (1, 2, 3)
tuple1[0] = 0
  • 正确();错误();

标准答案:×

32、Python列表、元组、字典都属于有序序列,都可以用索引进行访问。

  • 正确();错误();

标准答案:×

试题解析:字典是映射,不是序列

33、message1 = ‘Hello’,则message1.append(‘world’)的值为’Hello world’。

  • 正确();错误();

标准答案:×

34、元组一旦创建,其中的元素就不能再被修改了。

  • 正确();错误();

标准答案:√

试题解析:理解Python中的元组的概念的特点

35、运行以下程序,结果是一条由9行单个的#组成的图案。

i = 0
while i < 10:
    i = i + 1
    print('#')
  • 正确();错误();

标准答案:×

试题解析:应该是10个#

三、编程题(共2题,共30分)

36、日期转换

编写一个程序,实现用户输入一个日期,格式为"月/日/年",如输入’05/21/2021’,程序输出日期为’May 21,2021’。

1至12月的英文名称如下:

January,February,March,April,May,June,July,August,September,October,November,December。

参考程序:

说明:程序仅供参考,考生可以有多种解决方法。

date = input('Enter a date(mm/dd/yyyy):')
month, day, year = date.split('/')
months = ['January', 'February', 'March', 'April', 'May', 'June',
          'July', 'August', 'September', 'October', 'November',
          'December', '']
month = months[int(month) - 1]
print('The date is:' + month, day + ',', year)

评分细则:

1)定义一个变量接受输入的日期;(1分)

2)能够把年月日分离出来;(3分)

3)把输入的月份转变为英文名称(原题已给出每个月的英文名称,所以如果程序中的英文名称错误,有一处错误扣0.1分);(4分)

4)输出转换后的结果。(2分)

37、图形的循环美

设计一个海龟绘图程序,程序效果如下图(要求:海龟从里往外绘制图形,线条初始长度为20,相邻两条边相差4(每一个线条均比前一个线条长4),线条颜色为红色,总共边数至少80条以上(为了便于程序调试,建议不超过120条)。

参考程序:

import turtle

turtle.pencolor("red")
turtle.speed(6)
length = 20
jd = 90
i = 1
while i <= 100:
    turtle.forward(length)
    turtle.left(jd)
    length = length + 4
    i = i + 1

turtle.done()

评分细则:

1)导入海龟模块(2分)

2)设置画笔颜色(2分)

3)设置初始长度20(2分)

4)实现80次以上的循环设计(6分)

5)实现每次线条长度加4(3分)

6)实现程序效果(5分)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值