NCT全国青少年编程能力等级测试python二级图文word.docx

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

NCT全国青少年编程能力等级测试python二级图文word.docx

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

NCT全国青少年编程能力等级测试python二级图文word.docx

NCT全国青少年编程能力等级测试python二级图文word

NCT全国青少年编程能力等级测试python二级图文word

一、选择题

1.下面的Python程序段运行后的输出结果是()

List=[‘10’,25,’猕猴桃’,9,65]

Print(List[3])

A.25B.’猕猴桃’C.猕猴桃D.9

2.python中表达式4**3=()。

A.12B.1C.64D.7

3.以下对Python程序缩进格式描述错误的选项是()

A.不需要缩进的代码顶行写,前面不能留空白

B.缩进可以用tab键实现,也可以用多个空格实现

C.严格的缩进可以约束程序结构,可以多层缩进

D.缩进是用来格式美化Python程序的

4.现有如下Python程序:

List=["Happy","new","year!

"]

s=List[1]

d=s[:

-1]

执行该程序后,d的值为()

A."py"B."Happ"C."ew"D."ne"

5.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()

A.5B.34C.7D.12

6.Python程序中第一行:

a=int(input()),第二行:

print(a+5),运行程序后键盘输入3,输出结果是()。

A.5B.3C.8D.其他

7.利用Python程序绘制x-y的散点图,则下列程序第5行应该填写的代码是()。

A.plt.plot(X,Y)B.plt.scatter(X,Y)

C.plt.bar(X,Y)D.plt.boxplot(X,Y)

8.在Python中常用的输入输出语句分别是()

A.input()output()B.input()print()

C.input()printf()D.scandf()printf()

9.韦沐沐同学利用Python软件编写“求能被3整除的数”程序,在设计算法环节,使用流程图描述算法,如右图所示,其中空白处可以填入的是()

A.A÷3==0B.A/3==0C.A\3==0D.A%3==0

10.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是()

A.(R1+R2)/(R1*R2)B.R1+R2/(R1*R2)

C.R1*R2/R1+R2D.R1*R2/(R1+R2)

11.运行下列Python程序,结果正确是()

a=32

b=14

c=a//b

print(c)

A.2.2B.2C.“2”D.4

12.计算机能直接识别、理解执行的语言是()

A.汇编语言B.Python语言C.自然语言D.机器语言

13.如下Python程序段

foriinrange(1,4):

forjinrange(0,3):

print("Python")

语句print("Python")的执行次数是()

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

14.在Python中,判断n是否为偶数的表达式是()

A.n/2=0

B.n%2==0

C.n%2=0

D.n/2==0

15.下列变量名在Python中合法的是()

A.36BB.F55#C.forD._Good

二、程序填空

16.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。

校验码由前面9个X计算得到,计算方法为:

从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。

用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。

运行样例如下所示:

样例1:

输入:

2-163-91475-4

输出:

正确

样例2:

输入:

2-163-91475-5

输出:

错误

(1)Python程序实现如下,请在划线处填入正确的代码:

s=input("输入物品代码:

")

a=[]

foriinrange(0,13):

if___

a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象

sum=0

foriinrange(0,9):

____

sdm=sum%10

___

ifsdm==ydm:

print("正确")

else:

print("错误")

17.现在有一个程序用来解决以下问题:

如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?

请将下列程序补充完整。

tc=1020

c=0

while______________:

tc=tc-(tc/2+2)

_____________

print(c)

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

输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)

#请不要更改源程序的结构,删除原题里的①、②。

填写正确的代码,使程序完善

importmath

a=float(input("请输入方程系数a(!

=0):

"))

b=float(input("请输入方程系数b:

"))

c=float(input("请输入方程系数c:

"))

delta=b*b-4*a*c

ifdelta>________:

x1=(-b+math.sqrt(delta))/(2*a)

x2=(-b-math.sqrt(delta))/(2*a)

print("方程有两个不同的解",x1,x2)

elifdelta==0:

x1=________

print("方程有两个相同的解",x1)

else:

print("方程无解")

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

19.小王编写了“字符串缩写”程序,实现如下功能:

1.输入一串由英文字母和数字组成的字符串,

2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,

3.例如:

字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。

程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:

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

s=input("请输入字符串s:

")

_______

flag=False

result=""

foriinrange(0,k-1):

if___________________:

result=result+s[i]+"-"

flag=True

eliford(s[i])!

=ord(s[i+1])-1:

result=result+s[i]

_____

result=result+s[i+1]

print("缩写后的字符串为:

",result)

划线处①处应该填入的语句为:

划线处②处应该填入的语句为:

划线处③处应该填入的语句为:

20.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。

得到的数字应按逗号分隔的顺序打印在一行上。

提示:

考虑使用range(#begin,#end)

21.分析完善程序

某市出租车收费标准如下:

(1)3公里内(含3公里),收费8元

(2)超过3公里但未超过6公里部分,按1.5元/公里收费

(3)超过6公里部分,按2.25元/公里收费。

根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?

[算法分析]

假设总费用为p,则可以分段计算

p=8‘(s≤3)

p=1.5*(s-3)+8‘(3

p=2.25*(s-6)+1.5*3+8‘(s>6)

[参考代码]

a=float(input(“s=”))

ifs<=3:

p=8

if

p=1.5*(s-3)+8

ifs>6:

p=2.25*(s-6)+1.5*3+8

print(p)

根据上述回答如下问题:

(1)本题采用的算法是________(填:

解析法/枚举法/排序法/递归法)。

(2)程序代码中空白处应填写的条件是_______(填:

A/B/C/D)。

A.33ands<6D.s>3Ors<=6

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

 

一、选择题

1.D

【详解】

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

列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。

解析:

D

【详解】

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

列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。

2.C

【详解】

本题考查的是python中表达式相关知识。

在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。

解析:

C

【详解】

本题考查的是python中表达式相关知识。

在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。

3.D

【详解】

本题主要考查Python语法格式。

不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则

解析:

D

【详解】

本题主要考查Python语法格式。

不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则要求,故本题选D选项。

4.D

【详解】

本题主要考查Python列表运算。

s=List[1]="new",d=s[:

-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。

解析:

D

【详解】

本题主要考查Python列表运算。

s=List[1]="new",d=s[:

-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。

5.D

【详解】

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

列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)=5+7=12,故本题选D选项。

解析:

D

【详解】

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

列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)=5+7=12,故本题选D选项。

6.C

【详解】

本题主要考查Python语句执行。

运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。

解析:

C

【详解】

本题主要考查Python语句执行。

运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。

7.B

【详解】

本题主要考查Python绘图函数。

plot是绘图函数,scatter是绘制散点图函数,bar是绘制柱状图函数,boxplot是绘制箱线图函数,故本题选B选项。

解析:

B

【详解】

本题主要考查Python绘图函数。

plot是绘图函数,scatter是绘制散点图函数,bar是绘制柱状图函数,boxplot是绘制箱线图函数,故本题选B选项。

8.B

【详解】

本题考查的知识点是python的函数。

Python中常用的输入输出语句分别是input()print(),故选项B正确。

解析:

B

【详解】

本题考查的知识点是python的函数。

Python中常用的输入输出语句分别是input()print(),故选项B正确。

9.D

【详解】

本题考查的是流程图及Python表达式相关知识。

能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。

解析:

D

【详解】

本题考查的是流程图及Python表达式相关知识。

能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。

10.D

【详解】

本题考查的是python表达式的书写。

表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。

电阻表达式转换后,选项D正确。

解析:

D

【详解】

本题考查的是python表达式的书写。

表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。

电阻表达式

转换后,选项D正确。

11.B

【详解】

本题主要考查Python程序运行。

a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。

解析:

B

【详解】

本题主要考查Python程序运行。

a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。

12.D

【详解】

本题主要考查程序语言。

计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。

解析:

D

【详解】

本题主要考查程序语言。

计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。

13.D

【详解】

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

外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。

解析:

D

【详解】

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

外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。

14.B

【详解】

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

Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。

解析:

B

【详解】

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

Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。

15.D

【详解】

本题主要考查Python变量的命名。

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。

解析:

D

【详解】

本题主要考查Python变量的命名。

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。

二、程序填空

16."0"<=s[i]<="9"或s[i]in"0123456789”sum=sum+a[i]*(i+1)ydm=a[9]

【详解】

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

①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9"或s[i]in"0123456789”。

②校验码由前面9个X计算得到,计算方法为:

从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。

③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。

17.tc>0c=c+1或者c+=1

【详解】

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

①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。

②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1或者c+=1。

18.-b/(2*a)

【详解】

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

①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。

②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。

19.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False

【详解】

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

①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。

②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag。

③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。

20.l=[]

foriinrange(2000,3201):

if(i%7==0)and(i%5!

=0):

l.append(str(i))

print(','.join(l))

【详解】

本题主要考查程序设计。

由题干要求,可以使用Python程序设计语言实现,可使用for循环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代码如下:

l=[]

foriinrange(2000,3201):

if(i%7==0)and(i%5!

=0):

l.append(str(i))

print(','.join(l))

21.解析法或解析A

【详解】

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

①由算法分析可知,本题采用的算法是解析法或解析。

②3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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