2022年12月份青少年软件编程Python等级考试试卷三级真题(含答案)(未完成)

news/2024/11/30 15:49:25/

2022-12 Python三级真题

分数:100 

题数:38

测试时长:60min

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

1.  列表L1中全是整数,小明想将其中所有奇数都增加1,偶数不变,于是编写了如下图所示的代码。请问,图中红线处,代码应该是?(   )(2分)

A.x || 2

B.x ^ 2

C.x && 2

D.x % 2

2.  小明为了学习选择排序的算法,编写了下面的代码。针对代码中红色文字所示的一、二、三处,下面说法正确的是?( )(2分)

a = [8,4,11,3,9]

count = len(a)

for i in range(count-1):

    mi = i

    for j in range(i+1,count):

         if a[mi] > a[j]:   #代码一

              mi = j   #代码二

     if i!=mi:

        a[mi],a[i] = a[i],a[mi]   #代码三

print(a)

A.如果找到更大的元素,则记录它的索引号。

B.如果找到更小的元素,则记录它的索引号。

C.在一趟选择排序后,不管是否找到更小的元素,mi所在元素都得与i所在的元素发生交换。

D.代码三所在的行必然要运行。

3.  小明编写了一段演示插入排序的代码,代码如下。请问红色“缺失代码”处,应该填写哪段代码?(  )(2分)

a = [8,4,11,3,9]

count = len(a)

for i in range(1, count):

    j = i

    b = a[i]

    while j>0 and b<a[j-1] :

        a[j] = a[j-1]

        缺失代码

        a[j] = b

print(a)

A.j=j-1

B.j=j+1

C.j=i+1

D.j=i-1

4.  在计算机中,信息都是采用什么进行存储?(   )(2分)

A.二进制数

B.八进制数

C.十进制数

D.十六进制数

5.  十进制数(100)10,转化为二进制数为( )2?(   )(2分)

A.0010011

B.1010001

C.1100100

D.0101100

6.  十六进制数每一位至多可以表示几位二进制位?(  )(2分)

A.2

B.3

C.4

D.16

7.  八进制数(35)8,转化为十进制数为() 10?(  )(2分)

A.100011

B.110001

C.232

D.29

8.  执行代码a=min(3,2,4.3),变量a的值是?(  )(2分)

A.3

B.2

C.4.3

D.4

9.  print(max('python+'))的运行结果是?(  )(2分)

A.'p'

B.p

C.'y'

D.y

10. a=5.12596

print(round(a,2))运行结果是?(  )(2分)

A.5

B.5.1

C.5.12

D.5.13

11. type([{2.6}])运行的结果是?(  )(2分)

A.float

B.dict

C.True

D.list

12. 执行如下代码

a=[1,2,3,4]

print(list(enumerate(a)))

运行结果是?(  )(2分)

A.((0, 1), (1, 2), (2, 3), (3, 4))

B.[(0, 1), (1, 2), (2, 3), (3, 4)]

C.[1,2,3,4]

D.(1,2,3,4)

13. set('hello')运行结果是?(  )(2分)

A.('h', 'e', 'l', 'l','o')

B.{'h', 'e', 'l', 'l','o'}

C.{'e', 'h', 'l', 'o'}

D.('e', 'h', 'l', 'o')

14. print(sum([5,10,min(7,4,6)]))的运行结果是?(  )(2分)

A.22

B.21

C.4

D.19

15. divmod(100,3)的执行结果是?(  )(2分)

A.(1, 33)

B.(33, 1)

C.[33,1]

D.[1,33]

16. 下列表达式结果是False的是?(  )(2分)

A.all({})

B.all([10])

C.all(['1','2','3',''])

D.all(['1','2','3'])

17. 将字符串或数字转换为浮点数的函数是?(  )(2分)

A.chr()

B.float()

C.int()

D.str()

18. 以下表达式的值为True是?(  )(2分)

A.bool(2022)

B.bool(0)

C.bool()

D.bool({})

19. 有这样一段程序:

a=[“香蕉“,”苹果”,”草莓”,“哈密瓜”]

fs=open(“fruits.csv”,”w”)

fs.write(“,”.join(a)+‘\n’)

fs.close()

该段程序执行后,该csv文件中的内容是?( )(2分)

A.香蕉 苹果 草莓 哈密瓜

B.香蕉,苹果,草莓,哈密瓜

C.香蕉苹果草莓哈密瓜

D.["香蕉","苹果","草莓","哈密瓜"]

20. 关于文件的读写操作,下列说法不正确的是?(  )(2分)

A.read( )函数读取文件内容后,生成的是一个字符串 。

B.readline( )每次只读取文件中的一行,并返回字符串类型数据。

C.readlines( )函数每次按行读取整个文件的内容,并返回list类型数据。

D.读取文件内容只能用reader( )对象。

21. 关于下列列表,说法正确的是?(  )(2分)

s=[ [“佩奇”,“100”,“86”,“85”,“90”],

[“苏西”,“78”,“88”,“98”,“89”],

[“佩德罗”,“80”,“66”,“80”,“92”]]

A.这是一组二维数据

B.这样的数据不能存储到CSV文件中

C.无法读取[“佩奇”,“100”,“86”,“85”,“90”]这条数据

D.必须手动写入到CSV文件中

22. 有关于write()函数的说法正确的是?(  )(2分)

A.write( )函数只能向文件中写入一行数据

B.write( )函数的参数不是字符串类型

C.write( )函数也可以向文件中写入多行数据

D.write( )函数和writelines( )函数完全相同

23. 对于在csv文件中追加数据,下列说法正确的是?(  )(2分)

A.只能以单行方式追加数据

B.只能以多行方式追加数据

C.多行数据追加的函数是writerow( )

D.以单行方式或多行方式追加都可以

24. Python的异常处理try....except...else...finally机制中,以下哪部分语句一定能得到全部执行?(  )(2分)

A.try子句

B.except子句

C.else子句

D.finally子句

25. Python的异常处理机制中,以下表述哪项是错误的?(   )(2分)

A.如果当try中的语句执行时发生异常,Python就执行匹配该异常的except子句。

B.如果当try中的语句执行时发生异常,try代码块的剩余语句将不会被执行。

C.如果在try子句执行时没有发生异常,Python将执行else语句后的语句。

D.异常处理结构能够发现程序段中的语法错误。

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

26. 二进制数转化为十进制数的方法是:按权展开、逐项相加,如:(101)2=(10)10。(  )

27. 语句print(round(2.785, 2))运行后的结果是2.79。( )

28. map() 不会根据提供的函数对指定序列做映射。(  )

29. 语句print(tuple(range(5)))的输出结果是(0, 1, 2, 3, 4)。(  )

30. 运行语句set('2022'),其输出结果是{'2','0','2','2'}(  )

31. f=open(‘ss.csv’,’r’)

n=f.read().strip(“\n”).split(“,”)

f.close()

这段代码的功能是读取文件中的数据到列表。(  )

32. 一维数组可以用列表实现,二维数组则不能用列表实现。(  )

33. 用with open (‘fruits.csv’,’r’)as f 语句,打开fruits.csv文件,在处理结束后不会自动关闭被打开的文件,因此需要写上f.close( )语句。(  )

34. 异常处理结构中,finally程序段中的语句不一定都会得到执行。(   )

35. 在计算机中,每一个二进制位可以表示0和1两种信息。(   )

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

36. 下面程序实现对二维数据的处理,请你补全代码。

f=open('/data/score2.csv','r')a=[]for i in f:a.append(i.strip().split(','))f.close()①          for i in a:s=''for j in i:②         print(s)程序执行结果为:[['王鑫', '86', '90', '92', '99', '94', '95'], ['杨小虹', '93', '97', '95', '90', '86', '85'], ['李静', '89', '98', '99', '94', '90', '85']]王鑫       86    90    92    99    94    95  杨小虹     93    97    95    90    86    85  李静       89    98    99    94    90    85

参考程序:

f=open('/data/score2.csv','r')a=[]for i in f:a.append(i.strip().split(','))f.close()print(a,'\n')for i in a:s=''for j in i:s=s+'{:6}\t'.format(j)print(s)

   

评分标准:

(1)print(a,'\n')或等效答案;(2分)

(2)s=s+'{:6}\t'.format(j)或等效答案。(2分)

37. 在三位数的自然数中,找出至少有一位数字是5的,至少能被3整除的所有整数,并统计个数,具体代码如下:

count=0lst=[]for i in range(           ①           ):if i%3==0:a=i%10b=i//10%10c=           ②          if            ③           :count+=1lst.append(i)print("这样的三位数有:",lst)print("总数量有:",count)

参考程序:

count=0lst=[]for i in range(100,1000):if i%3==0:a=i%10b=i//10%10c=i//100if a==5 or b==5 or c==5:count+=1lst.append(i)print("这样的三位数有:",lst)print("总数量有:",count)

评分标准:

(1)100,1000 或者100,1000,1 ;(3分)

(2)i//100 ;(3分)

(3)a==5 or b==5 or c==5 。(4分)

38. 输入一个正数,以下代码编程求出它的平方根。请你补全代码。

in_var = float(input("请输入一个需要开方的正数,可以使用2位小数:\n x = "))

if in_var < 0:x = - in_varelse:x = in_varlow = 0.0high = xs_root =           ①          if x > 0 and x < 1:high = 1.0low = 0s_root =           ②          if x >= 0:while abs(           ③           ) > 0.0001:if x > 1.0:if s_root ** 2 < x:low = s_rootelse:high = s_roots_root =           ④          if x == 1.0 and x == 0.0:s_root = xelse:if s_root ** 2 < x:low = s_rootelse:high = s_roots_root =           ⑤          if in_var >= 0:print("所求数的平方根为:s_root = %.1f"%(s_root))

   

参考程序:

in_var = float(input("请输入一个需要开方的正数,可以使用2位小数:\n x = "))if in_var < 0:x = - in_varelse:x = in_varlow = 0.0high = xs_root =(low + high) / 2if x > 0 and x < 1:high = 1.0low = 0s_root =(low + high) / 2if x >= 0:while abs( s_root ** 2 - x) > 0.0001:if x > 1.0:if s_root ** 2 < x:low = s_rootelse:high = s_roots_root =(low + high) / 2if x == 1.0 and x == 0.0:s_root = xelse:if s_root ** 2 < x:low = s_rootelse:high = s_roots_root =(low + high) / 2 if in_var >= 0:print("所求数的平方根为:s_root = %.1f"%(s_root))

   

评分标准:

(1)(low + high) / 2 ;   (2分)

(2)(low + high) / 2 ; (2分)

(3)s_root ** 2 - x ;  (4分)

(4)(low + high) / 2 ; (4分)

(5)(low + high) / 2。  (4分)
————————————————
版权声明:本文为CSDN博主「Lemon Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46227121/article/details/128808779


http://www.ppmy.cn/news/751367.html

相关文章

STM32F4 | 按键输入实验

文章目录 一、STM32F4 IO 口简介二、硬件设计三、软件设计四、实验现象五、STM32CubeMX 配置 IO 口输出 这一章&#xff0c;我们将通过 ALIENTEK阿波罗 STM32 开发板上载有的 4 个按钮&#xff08; KEY_UP、 KEY0、 KEY1 和 KEY2&#xff09;&#xff0c;来控制板上的 2 …

STM32按键消抖的几种实现方式-STM32 Button Debouncing

一、按键抖动的现象 按键按下和松开的时候&#xff0c;按键金属片之间的贴合、分离有一个过程。给STM32输入的信号并不是理想的0和1切换的过程。而是如下图所示的&#xff0c;按下和松开的一小段时间内按键信号出现抖动&#xff08;jitter&#xff09;&#xff0c;这种现象称为…

stm32【按键处理:单击、连击、长按】

按键处理 测试平台&#xff1a;STM32F103C8T6 库版本&#xff1a;官方标准库3.5.0版本 按键&#xff1a;机械按键&#xff08;需消除抖动影响&#xff09;或触摸按键&#xff0c; 单片机硬件需求&#xff1a;定时器1个&#xff0c;IO口外部中断功能 按键处理是单片机底层驱动…

linux电脑滚轮不能用,鼠标滚轮不能用,小编教你电脑鼠标滚轮不能用怎么办

电脑用户最近遇到了一个问题&#xff0c;他们发现鼠标滚轮在一些应用下会不起作用。比如&#xff0c;我们用edge浏览器打开网页时&#xff0c;鼠标滚轮上下滚动会失效&#xff0c;而在原有的程序里则正常&#xff0c;那么怎么解决鼠标滚轮不能用的问题呢&#xff1f;下面&#…

服务器没有此伴奏文件,yy开直播,播放伴奏就一卡一卡的,不放伴奏就不卡,。是为什么...

1、关闭下载软件&#xff1a; 很多时候在观看直播的时候&#xff0c;下载游戏或者软件&#xff0c;会很大的影响网速&#xff0c;所以在观看YY直播之前&#xff0c;先把下载软件关闭。 2、设置网速优先&#xff1a; 观看YY直播的时候&#xff0c;也许还会聊天&#xff0c;还会做…

计算机鼠标左键不起作用,鼠标左键失灵怎么办 鼠标左键失灵处理方法【详解】...

现在使用电脑的特别多&#xff0c;我们使用电脑时使用最频繁的就是鼠标和键盘了&#xff0c;我们输入都是需要它们的&#xff0c;但是使用时间长了之后&#xff0c;难免会出现鼠标点击能听到咔哒的声音&#xff0c;但是就没反应&#xff0c;或者是一单机就变成双击&#xff0c;…

【Android】WorkManager的使用

序言 本文主要讲WorkManager的一些使用 WorkManager是在 Android 应用中调度和执行后台任务。它提供了一种灵活、可靠的方式来管理后台任务&#xff0c;并确保它们在最佳的设备条件下执行。 以下是 WorkManager 的主要作用&#xff1a; 后台任务调度&#xff1a;WorkManage…

Prompting Chain of Thought思维链开发实战

7.2 Prompting Chain of Thought思维链开发实战 现在看一个提示词思维链具体的应用案例。首先,定义一个get_completion_from_messages的函数,使用GPT-3.5模型,直接使用OpenAI的API,而不是LangChain的方式。 1. import os 2. import openai 3. import sys 4. from dotenv i…