NCT全国青少年编程能力等级测试python一级精品.docx

上传人:b****4 文档编号:11791447 上传时间:2023-04-01 格式:DOCX 页数:15 大小:94.19KB
下载 相关 举报
NCT全国青少年编程能力等级测试python一级精品.docx_第1页
第1页 / 共15页
NCT全国青少年编程能力等级测试python一级精品.docx_第2页
第2页 / 共15页
NCT全国青少年编程能力等级测试python一级精品.docx_第3页
第3页 / 共15页
NCT全国青少年编程能力等级测试python一级精品.docx_第4页
第4页 / 共15页
NCT全国青少年编程能力等级测试python一级精品.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

NCT全国青少年编程能力等级测试python一级精品.docx

《NCT全国青少年编程能力等级测试python一级精品.docx》由会员分享,可在线阅读,更多相关《NCT全国青少年编程能力等级测试python一级精品.docx(15页珍藏版)》请在冰豆网上搜索。

NCT全国青少年编程能力等级测试python一级精品.docx

NCT全国青少年编程能力等级测试python一级精品

NCT全国青少年编程能力等级测试python一级精品

一、选择题

1.关于python发布代码及安装使用代码,下列说法错误的是()

A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件

B.在DOS命令行中打开mymodule所在的目录,使用“pythonsetup.pysdist”命令构建发布文件

C.已经构建发布的模块必须先导入程序,然后才能使用。

导入时只能使用语句“importmymodule”,不可以用“frommymoduleimport*”

D.下载安装,使用“pythonsetup.pyinstall”命令安装到你的Python本地副本中

2.下列哪条赋值语句在Python中是非法的:

()

A.X=Y=Z=1B.X=(Y=Z+1)C.X,Y=Y,XD.X+=Y

3.已知a=-2,b=10/3,则python表达式round(b,1)+abs(a)的值为()

A.1.3B.5.33C.5.4D.5.3

4.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()

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

5.Python语言属于()。

A.机器语言B.汇编语言C.高级语言D.科学计算语言

6.运行下列Python程序

i=1

s=1

while①:

s=s*i

i+=2

print(s)

当输出结果为105时,则①处应填入()

A.i<=7B.i<7C.i>=7D.i>7

7.关于python中的函数,以下描述错误的是()。

A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可

B.使用函数的主要目的是减低编程难度和代码重用

C.Python使用del保留字定义一个函数

D.函数是一段具有特定功能的语句组

8.在Python中运行下列程序,输出结果为()

foriinrange(1,5):

print(i)

A.1,2,3,4,5B.12345C.0,1,2,3,4D.1234

9.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是()。

A.for循环语句中步长为3B.语句s=0应改为s=1

C.语句s=s+i共循环执行了100次D.程序使用了循环结构

10.Python中“ab”+“cd”*2的结果是()。

A.abcd2B.abcdabcdC.abcdcdD.ababcd

11.下列可以导入Python模块的语句是()

A.importmodule

B.inputmodule

C.printmodule

D.defmodule

12.以下选项中,不是Python中文件操作的相关函数是()。

A.open()B.load()

C.read()D.write()

13.下列选项都是属于高级语言的是()

A.汇编语言、机器语言

B.汇编语言、Basic语言

C.Basic语言、Python语言

D.机器语言、Python语言

14.12Python语言语句块的标记是()

A.分号B.逗号C.缩进D./

15.数据分析的处理工具错误的()

A.AccessB..ExcelC.pythonD.SQL

二、程序填空

16.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。

“奇校验”的原理:

在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。

例如:

接收到的每个字节及校验码

1的个数

传输正误

100101001

4

错误

011010101

5

正确

101011010

5

正确

根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。

请回答下列问题:

(1)若接收到的二进制码为“101011011”,传输过程__________(选填:

是/否)存在差错。

(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。

s=input("请输入9位二进制编码:

")

code={10:

"A",11:

"B",12:

"C",13:

"D",14:

"E",15:

"F"}

k=0;p=0;ans=“”

foriins:

#统计9位二进制编码中“1”的个数

k=k+int(i)

if____:

print("传输错误!

")

else:

print("传输正确!

")

forjinrange(0,8,4):

p=int(s[j:

j+4],2)

#int(x,[base]):

将x(字符串或者数字)按照base进制转换成整数

if0<=p<=9:

ans=ans+str(p)

else:

ans=___

print("字节编码用十六进制表示:

",___

17.学校开展“奇妙的数字”研究性学习活动。

张轩小组4人决定把课题定为《探秘水仙花数》。

(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的:

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:

153=13+53+33,那么这个数就是一个“水仙花数”。

XX属于____搜索引擎(全文,分类)

(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?

张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:

k是可以重新赋值的,k是变量还是常量?

____程序中①处有空缺,请补充完整①处的代码。

____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。

(3)在研究成果展示环节,张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告?

(_____)

18.完善代码并保存。

实现功能:

从键盘输入10个学生的测试成绩,输出最高分和最低分。

cj=[]

foriinrange(0,________):

x=float(input("请输入一个数"))

cj.append(________)

print(max(cj),min(________))

input("运行完毕,请按回车键退出...")

19.完善程序实现以下功能并保存。

输出数组的最大值。

arr1=[12,435,76,24,78,54,866,43]

________=-32768

foriinrange(0,7):

ifarr1[i]>max1:

max1=________

print("最大值是:

",________)

input("运行完毕,请按回车键退出...")

20.输入n,计算s=1!

+2!

+...+n!

的未6位(不含前导0)。

N<=1000000,n!

表示前n个正整数之积。

21.阅读程序。

分析有关多项式的代码并回答问题。

求1!

+2!

+3!

+……+20!

的和。

n=0

s=0

t=1

forninrange(1,21):

t*=n

s+=t

print(s)

(1)n的作用是________________。

(2)s的作用是______________。

(3)t的初值必须赋值为1,这是因为_________。

(4)t*=n的等价语句是__________

(5)s+=t的等价语句是______。

【参考答案】***试卷处理标记,请不要删除

 

一、选择题

1.C

【详解】

本题主要考查Python代码发布。

创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在

解析:

C

【详解】

本题主要考查Python代码发布。

创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“pythonsetup.pysdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。

导入时可以使用语句“importmymodule”,也可以用“frommymoduleimport*”;下载安装,使用“pythonsetup.pyinstall”命令安装到你的Python本地副本中,故本题选C选项。

2.B

【详解】

本题考查Python语句。

选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语

解析:

B

【详解】

本题考查Python语句。

选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语句,这是非法的;选项C,X,Y=Y,X这是交换语句,合法;选项D,X+=Y相当于X=X+Y,故本题选B。

3.D

【详解】

本题主要考查Python表达式的运算。

round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(

解析:

D

【详解】

本题主要考查Python表达式的运算。

round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。

4.C

【详解】

本题主要考查Python程序语句。

x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。

解析:

C

【详解】

本题主要考查Python程序语句。

x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。

5.C

【详解】

本题考查Python语言相关知识点

Python是一种高级语言,所以不是机器语言、汇编语言、科学计算语言。

故本题选C选项

解析:

C

【详解】

本题考查Python语言相关知识点

Python是一种高级语言,所以不是机器语言、汇编语言、科学计算语言。

故本题选C选项

6.A

【详解】

本题考查循环语句。

在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。

解析:

A

【详解】

本题考查循环语句。

在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。

7.C

【详解】

本题主要考查Python中的函数。

函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可;使用函数的主要目的是减低编程难度和代码重用;Python

解析:

C

【详解】

本题主要考查Python中的函数。

函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可;使用函数的主要目的是减低编程难度和代码重用;Python使用def保留字定义一个函数;函数是一段具有特定功能的语句组,故本题选C选项。

8.D

【详解】

本题考查Python程序执行

range(1,5)表示1到4的值,注意不包括5。

故本题选D选项

解析:

D

【详解】

本题考查Python程序执行

range(1,5)表示1到4的值,注意不包括5。

故本题选D选项

9.B

【详解】

本题主要考查Python程序调试。

分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。

解析:

B

【详解】

本题主要考查Python程序调试。

分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。

10.C

【详解】

本题主要考查Python表达式的运算。

字符串乘上整数n,将返回由n个此字符串拼接起来的新字符串,故该表达式的运算结果是abcdcd,故本题选C选项。

解析:

C

【详解】

本题主要考查Python表达式的运算。

字符串乘上整数n,将返回由n个此字符串拼接起来的新字符串,故该表达式的运算结果是abcdcd,故本题选C选项。

11.A

【详解】

本题主要考查Python模块的导入。

Python模块导入的关键字是import,故本题选A选项。

解析:

A

【详解】

本题主要考查Python模块的导入。

Python模块导入的关键字是import,故本题选A选项。

12.B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项

解析:

B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项。

13.C

【详解】

本题考查的是计算机语言。

计算机语言有:

机器语言、汇编语言、高级语言。

高级语言有:

VisualBasic、Pascal、C、C++、Java、Python等。

故选项C正确。

解析:

C

【详解】

本题考查的是计算机语言。

计算机语言有:

机器语言、汇编语言、高级语言。

高级语言有:

VisualBasic、Pascal、C、C++、Java、Python等。

故选项C正确。

14.C

【详解】

本题考查的是Python语言相关知识。

Python语言中用缩进来标记语句块,故选项C正确。

解析:

C

【详解】

本题考查的是Python语言相关知识。

Python语言中用缩进来标记语句块,故选项C正确。

15.C

【详解】

本题主要考查数据分析知识点。

Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题

解析:

C

【详解】

本题主要考查数据分析知识点。

Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题选C选项。

二、程序填空

16.是k%2==0或(k+1)%2==1或(k-1)%2==1ans+code[p]ans

【详解】

本题主要考查Python程序的执行与调试。

①若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。

②变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2==0或(k+1)%2==1或(k-1)%2==1。

③如果p是1~9之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+code[p]。

④变量ans保存转换后的十六进制,故此处填ans。

17.全文变量k+1枚举法Word/WPS/PowerPoint等

【详解】

本题主要考查Python程序的执行与调试。

①XX属于全文搜索引擎,也是关键词搜索。

②变量可以反复赋值,故k是变量。

③循环体执行完,k递增,继续找水仙花数,故此处填k+1。

④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。

⑤在研究成果展示环节,张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。

18.xcj

【详解】

本题主要考查Python程序执行与调试。

①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。

②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。

③求最大值用max函数,求最小值用min函数,故第三空填cj。

19.max1arr1[i]max1

【详解】

本题主要考查Python程序执行与调试。

变量max1用来保存数组的最大值,初始值赋值为最小值-32768,第一空填max1,通过for循环依次比较当数组元素大于max1时,更新max1的值为该元素继续循环直到与所有元素比较完,第二空填arr1[i],最后输出最大值是max1,故第三空填max1。

20.s=0

n=eval(input("请输入一个数:

"))

foriinrange(0,n):

f=1

forjinrange(1,i):

f=f*j

s+=f

print(s%1000000)

【详解】

本题主要考查Python程序设计。

可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下:

s=0

n=eval(input("请输入一个数:

"))

foriinrange(0,n):

f=1

forjinrange(1,i):

f=f*j

s+=f

print(s%1000000)

21.计算每一项的阶乘记录阶乘相加后的和t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。

t=t*ns=s+t

【详解】

本题考查的是python语言编程。

本题考查的是1-20阶乘的求和。

本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。

在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。

初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。

每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“forninrange(1,21):

”的循环体内。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1