文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

中国电子学会2023年05月份青少年软件编程Python等级考试试卷二级真题(含答案)

2023-09-01 13:08

关注

2023-05 Python二级真题
题数:37
分数:100
测试时长:60min

一、单选题(共25题,共50分)
1.    运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?(D)(2分)

a=int(input())b=int(input())if a < b:    a=bprint(a)


A.    3 1
B.    1 3
C.    1
D.    3

    运行以下程序,输出的结果是?( C)(2分)

n=10s=0m=1while m<=n:    s=s+m    m=m+1print(s)

A.    45
B.    50
C.    55
D.    60
答案解析:本题考的是while循环,程序的意识是计算1+2+3+......+10,结果是55,答案选择C

    以下代码的输出结果是?(A )(2分)

vlist = list(range(5))for e in vlist:    print(e,end=",")

A.    0,1,2,3,4,
B.    [0, 1, 2, 3, 4]
C.    0 1 2 3 4
D.    0;1;2;3;4;
答案解析:list(range(5))的值为[0,1,2,3,4];后面的程序是将列表中的值一个一个的取出来,所以选择A。

    以下程序的输出结果是?(B)(2分)

n=0while n<10:    n=n+2    if n==6:        continueprint(n)

A.    5
B.    10
C.    6
D.    8
答案解析:最后一次循环开始的时候,n的值为8,但是经过n=n+2运算后,n变成了10,所以最后的结果是10.

    运行以下程序,输出的结果是?(B )(2分)

numbers=[1,2,3,4]numbers.append([5,6,7,8])print(len(numbers))

A.    4
B.    5
C.    8
D.    12
答案解析:根据题意,[5,6,7,8]是作为一个整体元素添加到原来的列表中,所以原来的列表长度会变成5.

    以下代码的输出结果是?(D)(2分)

s=[4,2,9,1]s.insert(3,3)print(s)

A.    [4,2,9,1,2,3]
B.    [4,3,2,9,1]
C.    [4,2,9,2,1]
D.    [4,2,9,3,1]
答案解析:根据题意,将3插入到列表下标为3的元素位置上(第四个元素),所以选D。

    关于下列程序,说法正确的是?(C)(2分)

num=0while num<10:    print("=")

A.    在while代码块中无论加什么都不能改变死循环
B.    在while代码块中加一行代码num-=1可以改变死循环
C.    这个while循环是一个死循环,会一直打印"="
D.    运行结果打印输出10个"="语句
答案解析:此题考查while条件循环,在循环中增加num += 1,便能改变死循环,排除A;加一句num -= 1,num从0开始自减,num<10也总是成立,还是死循环,排除B;num值一直没变,num<10总是成立,会一直打印"=",排除D,故选C。

    运行以下程序,输出的结果是?(D)(2分)

list5=['1','2','4','6','9']print(list5[2])

A.    1
B.    2
C.    3
D.    4

    下列说法正确的是?(D)(2分)
A.    元组的元素值可以随意修改
B.    可以用del语句删除元组中的某个元素
C.    tup1=(5)是一个合法的元组
D.    tup1=('turtle','fish',65536)是一个合法的元组
答案解析:元组的元素值不可以修改;del语句只能删除整个元组,不能删除某个元素;元组中只包含一个元素时,

    在Python语言中,表达式[1,2]*2的值是?( C)(2分)
A.    [2,4]
B.    6
C.    [1,2,1,2]
D.    [1,2,2]
答案解析:列表的乘法运算是将列表中的元素重复N次(N为乘数);所以选C。

    在Pyhton语言中,表达式[2] in [1,2,3,4,5]的值是?( D)(2分)
A.    0
B.    1
C.    True
D.    False
答案解析:[2]是一个列表,虽然[1,2,3,4,5]中有2,但是这个2并不是列表,而是整型数据,所以返回值是False。

    d={"王明":178,"张华":158,"于飞":189,"刘英":164},则d["于飞"]的值是?(D )(2分)
A.    -2
B.    2
C.    '于飞'
D.    189
答案解析:d["于飞"]代表的是字典中键为"于飞"的值,所以选D。

    下列说法正确的是?(C)(2分)
A.    字典只能存储字符串,不能存储其他类型的对象
B.    dict11={:}可以创建一个空字典
C.    {123:456}是一个合法的字典
D.    字典的值必须是唯一的,键不必是唯一的
答案解析:字典可存储任意类型对象;字典中的键和值之间必须用冒号隔开,但是空字典不需要用冒号隔开,{}可以创建一个空字典;字典的键必须是唯一的,值不必是唯一的

    运行以下程序,共计输出了几个hello?(C)(2分)

for i in range(3):   print("hello")

A.    1
B.    2
C.    3
D.    4
答案解析:循环执行了3次,所以输出了3个hello
    
15.    下列程序的运行结果是?(C)(2分)

lis1=["cat","tomato","dog","apple","dog","dog"]print(lis1.index("dog"))

A.    0
B.    1
C.    2
D.    3
答案解析:考察获取列表中某个元素出现第一次的下标。dog第一次出现的下标为2.

    运行以下程序,当从键盘输入1,程序运行结果是?(A)(2分)

str1='一二三四五六日'strid=int(input('请输入1-7的数字:'))print('星期'+str1[strid-1])


A.    星期一
B.    星期+一
C.    星期二
D.    星期+二
答案解析:考察字符串的连接。题目中的下标进行了减一的运算,所以输入1,返回是星期一。

    下列程序的运行结果是?(A)(2分)

zd1={'name':'Tom','color':'blue'}zd1['name']='Mike'print(zd1)

A.    {'name': 'Mike', 'color': 'blue'}
B.    {'name': 'Mike', 'color': 'blue', name': 'Tom'}
C.    {'name': 'Tom', 'color': 'blue'}
D.    {'name': Tom','name': 'Mike', 'color': 'blue', }

    若a= (1, 2, 3) ,执行下列哪个命令是会报错?(C)(2分)
A.    a[1]
B.    list(a)
C.    a[1] = 4
D.    a*5
答案解析:元组中的元素是不可以修改的,所以C选项错误。

  

s='happy birthday'print(s[13:-15:-2])

以上代码的运行结果是?(B )(2分)
A.    运行会报错
B.    ydti pa
C.    ydtipa
D.    yadhtrib yppa

    下列程序执行的结果是?(D)(2分)

yz=(1,5,7,3,9)list1=sorted(yz)print(list1)

A.    报错
B.    1, 3, 5, 7, 9
C.    (1, 3, 5, 7, 9)
D.    [1, 3, 5, 7, 9]
答案解析:元组可以用sorted()进行排序,但是输出的结果是列表。

    以下哪个函数可以对字符串中的内容进行替换(注意:不是格式化输出)?(A)(2分)
A.    replace( )
B.    format( )
C.    split( )
D.    join( )

答案解析:replace( )函数用于字符串替换;split( )用于字符串分割;join( )用于串联;format( )用于格式化输出。
    
22.    运行以下程序,输出的结果是?( C)(2分)

list3=['11','4',5,1,4]print(len(list3))

A.    1
B.    4
C.    5
D.    8
答案解析:list3列表有五个元素,所以len()方法的返回值为5
    
23.    下列说法错误的是?(A )(2分)
A.    字典一旦创建就不能被修改
B.    a={}是一个空字典
C.    {123:'123'}是一个合法的字典
D.    在同一个字典中,字典的键具有唯一性
答案解析:字典可以被修改;{}可以创建一个空字典;字典的键必须是唯一的。

    列表ls=['H', 'a', 'p', 'p', 'y', '!'],下列说法错误的是?(C )(2分)
A.    ls[:6]的值是['H', 'a', 'p', 'p', 'y', '!']
B.    ls[:-6]的值是[]
C.    ls[6]的值是'!'
D.    ls[2:-2]的值是['p', 'p']
答案解析:ls列表下标最大值是5,ls[6]将引用ls列表下标为6的元素,将会抛异常(列表索引超出范围)

    使用tuple函数创建元组错误的是?(A )(2分)
A.    tuple(20,30)
B.    tuple('你好')
C.    tuple([2,0,1,3])
D.    tuple('12345')
答案解析:tuple()可以将列表、字符串、字典等可迭代对象转换为元组,整数不是可迭代对象。

二、判断题(共10题,共20分)
26.    append()方法可以在列表末尾添加一个元素。( 对)

    下列程序写法是正确的。(错)

score=50if score>=60:    print("合格")else:    print("不合格")

    判断下列语句是否正确。(对)
 >>>book={'格林童话':1001,'安徒生童话':1002}

    判断下列语句是否正确。(错) 

if 5>3   print("5大于3")

    在while循环中,如果想返回到循环的开头处,可以使用break语句。(错 )
答案解析:使用continue语句返回循环的开头

    执行以下程序,运行结果是:(错)

333for i in range(1,5,2):     print(3)

    执行print("e" in "hello")的输出结果为True。(对 )
答案解析:in是成员运算符,如果字符串中包含给定的字符,则返回True
    
33.    (3) in (1, 2, 3) 的结果是 True。(对 )
答案解析:(3)中没有逗号,不表示元组,表示整数类型的3。
    
34.    代码print('{}-{}*{}={}'.format(20,3,4,8))打印的结果是20-3*4=8。(对 )
答案解析:根据format运算的规则:print('{}-{}*{}={}'.format(20,3,4,8))是将后面的(20,3,4,8)里的数字依次填入前面的大括号中。
    
35.    元组是不可变序列,列表是可变序列。(对 )

三、编程题(共2题,共30分)
36.    体重比较器 
要求: 请编程实现如下功能:
(1)程序开始运行时,提醒用户输入三个人的名字和体重(可以分开输入,每次输入名字或者体重);
(2)程序自动比较,找出最重的一个人的名字和体重;
(3)输出的格式不限,但是要有最重人的姓名和体重信息。

参考程序1:

w1 = int(input("请输入第一个人的体重:"))n1 = input("请输入第一个人的名字:")w2 = int(input("请输入第二个人的体重:"))n2 = input("请输入第二个人的名字:")w3 = int(input("请输入第三个人的体重:"))n3 = input("请输入第三个人的名字:")maximum = w1m_name = n1if w2 > maximum:    maximum = w2    m_name = n2if w3 > maximum:    maximum = w3    m_name = n3print("体重最重的人是:",m_name)print("他的体重是:",maximum)

参考程序2:

name=[]weight=[]for i in range(3):    a = input('请输入姓名:')    b = int(input('请输入体重:'))    name.append(a)    weight.append(b)c = max(weight)d = weight.index(c)print("体重最重的人是:",name[d])print("他的体重是:",c)

评分标准:
(1)按照题意,要分别输入三个人的名字和体重;(每项0.5分,共3分) 
(2)有条件语句或者使用了排序或者最值计算;(4分) 
(3)用到变量存储体重和姓名;(4分)
(4)有数据类型转换;(每转换一次1分,共3分)
(5)结果正确输出。(1分)

    统计语句中指定字符的个数
要求:
(1)统计的语句为:Were you born on August 21, 1994
(2)要求使用条件语句,统计该句中所有英文字母、数字的个数的和(不包括空格、逗号等标点符号);
(3)输出一个整数,表示所有英文字母和数字的个数的和。

参考程序: 

str = 'Were you born on August 21, 1994' n = 0 for i in str:     if i==' ' or i==',':         continue     else:        n+=1print(n)

评分标准: 
(1)能正确存储字符串;(2分) 
(2)创建计数变量;(2分)
(3)有循环遍历字符串(或迭代对象);(2分)
(4)判断字符的值;(2分)
(5)在循环中正确进行计数;(2分)
(6)输出格式正确;(2分)
(7)代码执行完全正确无误。(3分)
 

来源地址:https://blog.csdn.net/m0_46227121/article/details/131205193

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯