2023年05月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

news2024/12/23 11:03:39

在这里插入图片描述

Python等级考试(1~6级)全部真题・点这里

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

第1题

运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?( )

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

A: 3 1
B: 1 3
C: 1
D: 3

答案:D

根据给定的程序,首先会通过int(input())函数从键盘输入一个数,将其赋值给变量a。然后再次使用int(input())函数从键盘输入另一个数,将其赋值给变量b

接下来,程序会进行条件判断,如果a小于b,则将b的值赋给a。在这种情况下,1小于3,所以a的值会被更新为3。

最后,程序会输出变量a的值,即3。因此,输出的结果是3。

第2题

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

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

A: 45
B: 50
C: 55
D: 60

答案:C

本题考的是while循环,程序的意识是计算1+2+3+…+10,结果是55,答案选择C

第3题

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

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;

答案:A

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

第4题

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

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

A: 5
B: 10
C: 6
D: 8

答案:B

最后一次循环开始的时候,n的值为8,但是经过n=n+2运算后,n变成了10,所以最后的结果是10.

第5题

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

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

A: 4
B: 5
C: 8
D: 12

答案:B

根据题意,[5,6,7,8]是作为一个整体元素添加到原来的列表中,所以原来的列表长度会变成5.

第6题

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

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]

答案:D

根据题意,将3插入到列表下标为3的元素位置上(第四个元素),所以选D。

第7题

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

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

A: 在while代码块中无论加什么都不能改变死循环
B: 在while代码块中加一行代码num-=1可以改变死循环
C: 这个while循环是一个死循环,会一直打印"="
D: 运行结果打印输出10个"="语句

答案:C

此题考查while条件循环,在循环中增加num += 1,便能改变死循环,排除A;加一句num -= 1,num从0开始自减,num<10也总是成立,还是死循环,排除B;num值一直没变,num<10总是成立,会一直打印"=",排除D,故选C。

第8题

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

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

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

答案:D

根据给定的程序,list5是一个包含5个元素的列表。在Python中,列表的索引从0开始,所以list5[2]表示获取列表中索引为2的元素。

在给定的列表中,索引为2的元素是’4’。

第9题

下列说法正确的是?( )

A: 元组的元素值可以随意修改
B: 可以用del语句删除元组中的某个元素
C: tup1=(5)是一个合法的元组
D: tup1=(‘turtle’,‘fish’,65536)是一个合法的元组

答案:D

D: tup1=(‘turtle’,‘fish’,65536)是一个合法的元组
解释:
A: 元组的元素值不可以随意修改。元组是不可变的数据类型,一旦创建,就不能修改其中的元素。
B: 不可以使用del语句删除元组中的某个元素。元组的元素是不可变的,因此无法删除或修改其中的元素。
C: tup1=(5)不是一个合法的元组。在创建只有一个元素的元组时,需要在元素后面添加逗号,即tup1=(5,)才是一个合法的元组。
D: tup1=(‘turtle’,‘fish’,65536)是一个合法的元组。它包含了三个元素,分别是字符串’turtle’、'fish’和整数65536。元组的元素可以是不同的数据类型,并且元组的元素顺序是有序的。

第10题

在Python语言中,表达式[1,2]*2的值是?( )

A: [2,4]
B: 6
C: [1,2,1,2]
D: [1,2,2]

答案:C

列表的乘法运算是将列表中的元素重复N次(N为乘数);所以选C。

第11题

在Pyhton语言中,表达式[2] in [1,2,3,4,5]的值是?( )

A: 0
B: 1
C: True
D: False

答案:D

[2]是一个列表,虽然[1,2,3,4,5]中有2,但是这个2并不是列表,而是整型数据,所以返回值是False。

第12题

d={“王明”:178,“张华”:158,“于飞”:189,“刘英”:164},则d[“于飞”]的值是?( )

A: -2
B: 2
C: ‘于飞’
D: 189

答案:D

d[“于飞”]代表的是字典中键为"于飞"的值,所以选D。

第13题

下列说法正确的是?( )

A: 字典只能存储字符串,不能存储其他类型的对象
B: dict11={:}可以创建一个空字典
C: {123:456}是一个合法的字典
D: 字典的值必须是唯一的,键不必是唯一的

答案:C

字典可存储任意类型对象;字典中的键和值之间必须用冒号隔开,但是空字典不需要用冒号隔开,{}可以创建一个空字典;字典的键必须是唯一的,值不必是唯一的。

第14题

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

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

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

答案:C

循环执行了3次,所以输出了3个hello

第15题

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

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

A: 0
B: 1
C: 2
D: 3

答案:C

考察获取列表中某个元素出现第一次的下标。dog第一次出现的下标为2.

第16题

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

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

A: 星期一
B: 星期+一
C: 星期二
D: 星期+二

答案:A

考察字符串的连接。题目中的下标进行了减一的运算,所以输入1,返回是星期一。

第17题

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

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

在程序中,首先创建了一个字典 zd1,其中包含键值对 ‘name’: ‘Tom’ 和 ‘color’: ‘blue’。然后通过 zd1[‘name’] = ‘Mike’ 的赋值语句,将键 ‘name’ 对应的值修改为 ‘Mike’。最后使用 print(zd1) 打印字典的内容,结果为 {‘name’: ‘Mike’, ‘color’: ‘blue’}。所以选项 A 是正确的答案。

第18题

若a= (1, 2, 3) ,执行下列哪个命令是会报错?( )

A: a[1]
B: list(a)
C: a[1] = 4
D: a*5

答案:C

元组中的元素是不可以修改的,所以C选项错误。

第19题

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

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

A: 运行会报错
B: ydti pa
C: ydtipa
D: yadhtrib yppa

答案:B

在程序中,字符串 s 的值为 ‘happy birthday’。使用切片操作 s[13:-15:-2],其中 [13:-15:-2] 表示从索引位置 13(包括)开始,到索引位置 -15(不包括),步长为 -2。步长为 -2 表示每隔两个字符取一个字符,并且从右向左取值。

根据切片操作,从右向左取值,可以得到 ‘y’、‘d’、‘t’、‘i’、’ '、‘p’、‘a’。所以答案是 ‘ydti pa’,选项 B 是正确的答案。

第20题

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

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]

答案:D

元组可以用sorted()进行排序,但是输出的结果是列表。

第21题

以下哪个函数可以对字符串中的内容进行替换(注意:不是格式化输出)?( )

A: replace( )
B: format( )
C: split( )
D: join( )

答案:A

replace( )函数用于字符串替换;split( )用于字符串分割;join( )用于串联;format( )用于格式化输出。

第22题

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

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

A: 1
B: 4
C: 5
D: 8

答案:C

list3列表有五个元素,所以len()方法的返回值为5

第23题

下列说法错误的是?( )

A: 字典一旦创建就不能被修改
B: a={}是一个空字典
C: {123:‘123’}是一个合法的字典
D: 在同一个字典中,字典的键具有唯一性

答案:A

字典可以被修改;{}可以创建一个空字典;字典的键必须是唯一的。

第24题

列表ls=[‘H’, ‘a’, ‘p’, ‘p’, ‘y’, ‘!’],下列说法错误的是?( )

A: ls[:6]的值是[‘H’, ‘a’, ‘p’, ‘p’, ‘y’, ‘!’]
B: ls[:-6]的值是[]
C: ls[6]的值是’!’
D: ls[2:-2]的值是[‘p’, ‘p’]

答案:C

ls列表下标最大值是5,ls[6]将引用ls列表下标为6的元素,将会抛异常(列表索引超出范围)

第25题

使用tuple函数创建元组错误的是?( )

A: tuple(20,30)
B: tuple(‘你好’)
C: tuple([2,0,1,3])
D: tuple(‘12345’)

答案:A

tuple()可以将列表、字符串、字典等可迭代对象转换为元组,整数不是可迭代对象。

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

第26题

append()方法可以在列表末尾添加一个元素。( )

答案:正确

在Python中,列表是一种可变的有序序列,可以通过append()方法在列表的末尾添加一个元素。该方法将传入的元素作为新的列表元素添加到列表的末尾,扩展列表的长度。

第27题

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

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

答案:错误

在Python中,代码的缩进对于控制流程是非常重要的。在给定的代码中,score=50 不应该缩进,并且else语句的缩进不正确。else语句应该与if语句对齐,但在给定的代码中,else语句没有缩进。

第28题

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

 >>>book={'格林童话':1001,'安徒生童话':1002}

答案:正确

这段代码创建了一个名为book的字典,并包含两个键值对。键’格林童话’对应的值是1001,键’安徒生童话’对应的值是1002。这是一种常见的字典初始化的写法,其中键和值之间使用冒号:分隔,不同的键值对之间使用逗号,分隔,整个字典使用花括号{}括起来。

第29题

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

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

答案:错误

在Python中,if语句后面的条件表达式需要以冒号:结尾,并且在条件语句的下一行需要进行缩进,以表示条件成立时要执行的代码块。在给定的代码中,if语句后面的条件表达式5>3没有以冒号结尾

第30题

在while循环中,如果想返回到循环的开头处,可以使用break语句。( )

答案:错误

使用continue语句返回循环的开头

第31题

执行以下程序,运行结果是:
3
3
3

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

答案:错误

在给定的代码中,使用for循环对范围range(1, 5, 2)进行迭代。这个范围从1开始,到5结束(不包括5),步长为2。所以迭代的值分别是1和3。

在每次迭代时,都会执行print(3)语句,打印输出数字3。

因此,给定程序的运行结果是:
3
3

第32题

执行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)输出的格式不限,但是要有最重人的姓名和体重信息。

答案:

下面是一个实现体重比较器的Python程序:

def get_weight(person):
    return person[1]

people = []

# 输入三个人的名字和体重
for i in range(3):
    name = input("请输入第{}个人的名字:".format(i + 1))
    weight = float(input("请输入{}的体重(kg):".format(name)))
    people.append((name, weight))

# 比较找出最重的人
max_weight_person = max(people, key=get_weight)

# 输出最重人的姓名和体重信息
print("最重的人是:")
print("姓名:", max_weight_person[0])
print("体重:", max_weight_person[1], "kg")

在上述代码中,我们定义了一个名为get_weight的函数,该函数接受一个人的元组作为参数,并返回其体重。

程序开始运行时,会提示用户输入三个人的名字和体重。每次输入一个人的名字和体重,程序会将其存储为一个元组 (name, weight),并将该元组添加到列表 people 中。

然后,我们将该函数作为max()函数的key参数传递,用于比较人的体重。

最后,程序输出最重人的姓名和体重信息。

第37题

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

答案:

下面是一个实现统计指定字符个数的Python程序:

statement = "Were you born on August 21, 1994"

count = 0

# 遍历每个字符
for char in statement:
    # 判断字符是否为英文字母或数字
    if char.isalnum():
        count += 1

# 输出所有英文字母和数字的个数的和
print(count)

程序首先定义了要统计的语句为 statement

接下来,我们初始化一个变量 count 为 0,用于记录所有英文字母和数字的个数的和。

然后,使用 for 循环遍历语句中的每个字符。对于每个字符,我们使用 isalnum() 方法来判断是否为英文字母或数字。如果是英文字母或数字,则将 count 加 1。

最后,程序输出所有英文字母和数字的个数的和。

在给定的语句中,所有英文字母和数字的个数的和为 17。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153224.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springweb flux拦截请求获取参数和方法做接口签名防重放校验

在给spring webflux做接口签名、防重放的时候&#xff0c;往往需要获取请求参数&#xff0c;请求方法等&#xff0c;而spring webflux无法像spring mvc那样好获取&#xff0c;这里根据之前的实践特地说明一下&#xff1a; 总体思路&#xff1a; 1、利用过滤器&#xff0c;从原…

Yuhan Blu-ray DVD Creator for Mac: 打造专属的高清视听盛宴

在如今的高清时代&#xff0c;谁能拒绝一款能够轻松将高清影片刻录成蓝光DVD的刻录机呢&#xff1f;而Yuhan Blu-ray DVD Creator for Mac正是这样一款令人惊艳的软件。 作为一款专为Mac用户打造的蓝光DVD刻录机&#xff0c;Yuhan Blu-ray DVD Creator for Mac支持将各种高清视…

涛思数据与胜软科技达成战略合作,共同赋能石油行业数字化转型

近日&#xff0c;北京涛思数据科技有限公司&#xff08;以下简称“涛思数据”&#xff09;与山东胜软科技股份有限公司&#xff08;以下简称“胜软科技”&#xff09;于山东东营签署战略合作协议。双方围绕石油行业数字化转型趋势&#xff0c;合力打造石油行业数字化转型解决方…

设计模式_观察者模式

观察者模式 介绍 设计模式定义案例问题堆积在哪里解决办法观察者是行为型设计模式 多个对象 观察 1个对象小强考试完 成绩公布了 家长/同学得知成绩后 做出不同反应一个一个通知很麻烦 先通知谁 也有讲究的 信息发布方 抽象出一个信息管理类 负责管理监听者 类图 代码 Obse…

【Apache Flink】Flink DataStream API的基本使用

Flink DataStream API的基本使用 文章目录 前言1. 基本使用方法2. 核心示例代码3. 完成工程代码pom.xmlWordCountExample测试验证 4. Stream 执行环境5. 参考文档 前言 Flink DataStream API主要用于处理无界和有界数据流 。 无界数据流是一个持续生成数据的数据源&#xff0…

如何理解 Spring Boot 中的 Starter?

Starter 是 Spring Boot 的四大核心功能特性之一&#xff0c;除此之外,Spring Boot 还有自动装配、Actuator 监控等特性。Spring Boot 里面的这些特性&#xff0c;都是为了让开发者在开发基于 Spring 生态下的企业级应用时&#xff0c;只需要关心业务逻辑&#xff0c;减少对配置…

初识FFmpeg

前言 无意间见到群里的小伙伴展示视频工具。功能比较多&#xff0c;包括视频编码修改&#xff0c;画质处理&#xff0c;比例处理、名称提取&#xff0c;剪辑、标题拆解。因此开始了FFmpeg学习。以下摘自百度百科的解释。 FFmpeg是一套可以用来记录、转换数字音频、视频&#xf…

【LVS实战】02 搭建一个LVS-NAT实验

一、网络结构 用虚拟机搭建如下的几台机器&#xff0c;并配置如下的ip 关于虚拟机网卡和网络的配置&#xff0c;可以参考 iptables章节&#xff0c;05节&#xff1a;网络转发实验 主机A模拟外网的机器 B为负载均衡的机器 C和D为 RealServer 二、C和D主机的网关设置 C和D机…

vue项目引入elementui样式组件05

vue前端开发&#xff0c;关于样式部分&#xff0c;不需要自己去写&#xff0c;可以引用现有的一些组件&#xff0c;比如elemtnui&#xff0c;可官网查看 1、下载对应的包到vue项目中 通过npm进行安装 npm i element-ui -S2、引入到项目中&#xff0c;官网也提供了例子 3、运…

Shopee流量和销量不佳?或许你没有掌握正确的引流方法

很多卖家做了很久&#xff0c;但是发现流量和销量都没怎么增长&#xff0c;今天陈哥就分享一下如何正确的引流。 以下是一些有效的引流策略&#xff1a; 1. 站内引流&#xff1a;选择高性价比的潮流商品&#xff0c;根据目标客户群和重点品类进行选品。优化商品名称和描述&am…

顺序表练习

顺序表练习 图解插入与删除&#xff0c;详见相关内容&#xff1a;顺序存储结构的插入与删除 //顺序表的定义、创建、插入、删除、查找 //定义&#xff1a;结构体中数组、表长 //创建:输入元素&#xff0c;表长 //插入&#xff1a;判断表是否已满、判断位序合法性 //插入位序k…

好用的视频下载工具推荐

我不允许还有人不知道这款视频下载工具, 真的太好用了! &#xff01;! 随着视频行业的崛起&#xff0c;如今网络上各种各样的视频层出不穷, 那我们看到喜欢的视频该如何下载呢&#xff1f;今天小编来给大家分享一款非常实用的视频下载工具——Downni, 它兼容国内外大多数视频网…

网络编程服务端与客户端存在的端口问题

服务端的窗口不能再次使用的原因如下&#xff1a; 服务器端的窗口不能再次使用的原因可能有以下几点&#xff1a; 1. 窗口已经关闭&#xff1a;如果服务器端的窗口已经被关闭&#xff0c;那么就无法再次使用。关闭窗口后&#xff0c;服务器会释放相关资源&#xff0c;包括与该…

深度学习入门(二)之神经网络

文章目录 从感知机到神经网络神经网络的例子复习感知机激活函数 激活函数sigmoid函数阶跃函数的实现阶跃函数的图形sigmoid函数的图形sigmoid函数与阶跃函数比较非线性函数ReLU函数 多维数组的运算多维数组矩阵乘法神经网络的内积 三层神经网络的实现符号确认各层间信号传递的实…

视频剪辑达人教您:如何运用嵌套合并技巧制作固定片尾

在视频剪辑的过程中&#xff0c;嵌套合并技巧是一种非常实用的技术&#xff0c;可以帮助您将多个素材叠加在一起&#xff0c;制作出更加丰富多彩的视频。本文将由视频剪辑达人为您详细介绍如何运用云炫AI智剪嵌套合并技巧制作固定片尾&#xff0c;让您的视频剪辑水平更上一层楼…

场景交易额超40亿,海尔智家三翼鸟开始收获

文 | 螳螂观察 作者 | 余一 随着双十一的到来&#xff0c;国内的消费情绪再次被点燃。在这类大促之下&#xff0c;品牌们就像一个个天体&#xff0c;不断引动着市场潮汐&#xff0c;期待自己能触发更大的“海潮效应”。 所谓“海潮效应”是指&#xff0c;海水因天体的引力而…

总结之数据分析工具cube.js通过Docker部署

cube.js介绍 官网地址&#xff1a;https://cube.dev/ Cube.js是一个开源的模块化框架&#xff0c;用于构建分析web应用程序。它主要用于构建内部业务智能工具或向现有应用程序添加面向客户的分析。 Cube.js设计用于无服务器查询引擎&#xff0c;如AWS Athena和谷歌BigQuery。…

一张动图告诉你,输入网址之后,发生了什么事情?

让我们一步一步地来看这个过程。 步骤1&#xff1a; 用户在浏览器中输入一个URL&#xff08;比如www.bytebytego.com&#xff09;&#xff0c;然后按下回车键。首先&#xff0c;我们需要将这个URL转换成一个IP地址。通常&#xff0c;这个映射关系会被存储在缓存中&#xff0…

【设计模式】第6节:创建型模式之“原型模式”

由于本人现在所使用的语言主要是golang&#xff0c;所以后面的代码主要使用golang编写。语言实现应该不是障碍&#xff0c;主要是理解每种设计模式它的思想。 如果对象的创建成本比较大&#xff0c;而同一个类的不同对象之间差别不大&#xff08;大部分字段都相同&#xff09;…

企业 Tomcat 运维 部署tomcat反向代理集群

一、Tomcat 简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用服务器&#xff0c; Tomcat和Nginx、Apache(httpd)、Web服务器一样&#xff0c;具有处理HTML页面的功能不过Tomcat处理静态HTML的能力不如Nginx/Apache服务器 一个tomcat默认并…