admin 管理员组

文章数量: 887021


2024年1月10日发(作者:access数据库的核心操作)

全国青少年软件编程(Python)等级考试试卷(一级)(2)

一、选择题

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

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

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

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

mymodule”,不可以用“from mymodule import *”

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

2.在python中,下列哪个选项是正确的赋值语句(

A.5s= 80

A.{24,56,7,89,4}

C.[24,56,’a’,’猕猴桃’]

出结果是(

)。

A.5

A.Number型

A.变量不必事先声明

C.变量无须制定类型

B.3

B.String型

C.8

C.List型

D.其他

D.Sets型

5.在Python中,input()函数的返回结果的数据类型为(

6.关于Python的内存管理,下列说法错误的是(

B.变量无需先创建和赋值就可直接使用

D.可以使用del释放资源

B.2018 =x C.a+b=c

B.[24,56,7,89,4]

D.[’A’,’B’ ’C’, ’D’]

D.s=s+5

3.下列Python数据不属于列表的是(

4.Python程序中第一行:a=int(input( )),第二行:print(a+5),运行程序后键盘输入3,输7.Python中变量的命名遵循的规则,不正确的是( )

A.以字母或下划线开头,后面可以是字母、数字或下划线。 B.区分大小写

C.以数字开头,后面可以是字母、数字或下划线。

8.下列有关于print命令的描述中,正确的是(

A.在打印机里打印相关的文本或者数字等

B.可以用来画图

C.在屏幕中输出相应的文本或者数字等

D.执行语句print(“python”,3.7)时会出错

9.下列序列拼接错误的是()

A.list = [ None ] * 4

B.msg = “Python”, ”语言”

C.tup = “/”.join( ( “123”, ”234” ) )

D.set = { 1, 2, 3 } + { 4, 5, 6 }

10.以下Python中变量的命名正确的是(

A.1a=4

B.print=5

D.不能使用保留字

C._A=2

D.a+b=3

11.下列不被python所支持的数据类型是(

A.char

A.5

A.-4

f=[‘A’,’B’,’C’]

a=len(f)

print(‘a=’,a)

A.a=2 B.a=’A’ C.a=’C’ D.a=3

15.算法用Python程序实现,以下代码中哪处语句存在语法错误(

B.float

B.1

B.-3.5

C.int

C.6

C.2

D.list

D.11

D.-2

12.在Python中print(8+7%2**2)的执行结果是(

13.在Python中print(-14//4)的运行结果是(

)。

14.下列Python程序段运行的结果是(

A. B. C. D.

二、程序填空

16.小明用Python语言写了一个货币兑换程序如下:

(1)参数currency指:____________。

(2)该程序用了哪一种算法结构:_____________。

(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。

17.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:

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

100101001

011010101

101011010

1的个数

4

5

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=“”

for i in s:#统计9位二进制编码中“1”的个数

k=k+int(i)

if ____:

print("传输错误!")

else:

print("传输正确!")

for j in range(0,8,4):

p=int(s[j:j+4],2)

# int(x,[base]):将x(字符串或者数字)按照base进制转换成整数

if 0<=p<=9:

ans=ans+str(p)

else:

ans=___

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

18.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。

def gs(n): #字符串长度统一

if len(n)>=5:

n=_____ #取字符串的前5个字符

else:

n=n+" "*(5-len(n))

return n

r=1000;x=100;y=15;z=0.8 #从系统中分别获取消费额度、满和减以及打折的数值

dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"] #某顾客所点菜品名称

num=[1,1,1,1,3] #某顾客所点菜品数量

mon=[46,45,68,16,1] #某顾客所点菜品单价

print("菜品名称","数量","小计")

_____

for i in range(len(dis)):

print(gs(dis[i]),num[i]," ",num[i]*mon[i])

s=s+num[i]*mon[i]

if s>=r:

total=s*z

else:

______

print("消费合计:",s)

print("应收现金:",total)

19.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:

import math

def IsPrime(i):

if i==1:

return False

for j in range(2,int((i))+1):

if____:

return False

return True

a=int(input("请输入a:"))

b=int(input("请输入b:"))

summ=0

for i in range(a,b+1):

if IsPrime(i):

________

while t>0:

summ=summ+t%10

_________

print("数字和为:",summ)

20.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。

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

________

a=[ ]

for i in range(100,1000):

if_____________:

(i)

total + = 1

print("这群小朋友总的人数有:")

for j in range(len(a)):

print(____,end='、')

print('')

print('可能情况数为:',total,'种')

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

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

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

21.程序设计:在舞会上,男生、女生各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。跳完后的两人重新回到队尾。

例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']

输出:

Turn1:(Alex,Ada)

Turn2:(Steven,Babs)

Turn3:(Jack,Danla)

Turn4:(Alex,jane)

……

Turn12:(Jack,jane)

代码如下:

boy=['Alex','Steven',‘Jack']

girl=['Ada','Babs','Danla','Jane']

for i in range(12):

x,y=

① #出队

print(“Turn{:2}):({},{})".format(i+1,x,y))

(

② ) #再进队

(

③ ) #再进队

(1)程序代码中①处正确的代码是(_______)。

A.(l).(l) B.(l),(l)

C.(0),(0) D.(0),(0)

(2)程序代码中②处正确的代码是(_______)。

A.x B.y C.i D.i+1

(3)程序代码中③处正确的代码是(_______)。

A.x B.y C.i D.i+1

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

一、选择题

1.C

【详解】

本题主要考查Python代码发布。创建一个文件夹mymodule,其中包含和(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在

解析:C

【详解】

本题主要考查Python代码发布。创建一个文件夹mymodule,其中包含和(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“python sdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。导入时可以使用语句“import mymodule”,也可以用“from mymodule import

*”;下载安装,使用“python install”命令安装到你的Python本地副本中,故本题选C选项。

2.D

【详解】

本题主要考查Python赋值语句。“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。

解析:D

【详解】

本题主要考查Python赋值语句。“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。

3.A

【详解】

本题考查Python语句。列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。选选项B,C,D都属于列表,选项A不属于列表,故本题选A。

解析:A

【详解】

本题考查Python语句。列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数

据。选选项B,C,D都属于列表,选项A不属于列表,故本题选A。

4.C

【详解】

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

解析:C

【详解】

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

5.B

【详解】

本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

解析:B

【详解】

本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

6.B

【详解】

本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。

解析:B

【详解】

本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。

7.C

【详解】

本题考查的是变量名的命名规则。Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。故选项C不正确。

解析:C

【详解】

本题考查的是变量名的命名规则。Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。故选项C不正确。

8.C

【详解】

本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,

执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。

解析:C

【详解】

本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。

9.D

【详解】

本题主要考查Python序列拼接运算。set = {}

生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。

解析:D

【详解】

本题主要考查Python序列拼接运算。set = {}

生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。

10.C

【详解】

本题考查Python变量命名规则

变量命名不能以数字开头,不能使用关键字,不能使用特殊符号。故本题选C选项

解析:C

【详解】

本题考查Python变量命名规则

变量命名不能以数字开头,不能使用关键字,不能使用特殊符号。故本题选C选项

11.A

【详解】

本题主要考查Python数据类型。Python没有char类型,一个字符也是字符串,故本题选A选项。

解析:A

【详解】

本题主要考查Python数据类型。Python没有char类型,一个字符也是字符串,故本题选A选项。

12.D

【详解】

本题考查的是Python表达式。**是幂次方优先级最高,%是求余。8+7%2**2=8+7%4=8+3=11,print是输出语句。故选项D正确。

解析:D

【详解】

本题考查的是Python表达式。**是幂次方优先级最高,%是求余。

8+7%2**2=8+7%4=8+3=11,print是输出语句。故选项D正确。

13.A

【详解】

本题主要考查Python表达式的运算。运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。

解析:A

【详解】

本题主要考查Python表达式的运算。运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。

14.D

【详解】

本题主要考查Python程序的执行。a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。

解析:D

【详解】

本题主要考查Python程序的执行。a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。

15.D

【详解】

本题考查的是Python程序调试。双分支IF语句。if (条件)后面要加冒号,else后面也要加冒号。故标号4中存在语法错误。

解析:D

【详解】

本题考查的是Python程序调试。双分支IF语句。if (条件)后面要加冒号,else后面也要加冒号。故标号4中存在语法错误。

二、程序填空

16.形参

分支结构(选择结构) if条件中的return语句改为return

print(money,"$=",money*6.505,"人民币"),其他elif语句类似

【详解】

本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。

17.是 k%2==0或(k+1)%2==1或(k-1)%2==1 ans+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。

18.n[0:5] s=0 total=s-s//x*y

【详解】

本题主要考查Python程序的执行与调试。①此处通过条件分支结构取字符串n的前5个字符,当 len(n)>=5时,取n= n[0:5],即索引为0、1、2、3、4,故填n[0:5]。②用变量s统计消费合计,初值为0,故填s=0。③此处else部分处理1000元以下享受每满100减15优惠。应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。

19.i%j==0 t=i t=t//10

【详解】

本题主要考查Python程序执行与调试。①此处是处理从2开始到i开方加1,若能整除i则表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j==0。②若i是素数,则将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填t=i。③同理此处取出个位数后,更新t的值继续循环,故此处填t=t//10。

20.total=0

i%3 == 2 and i%5 == 3 and i%7 == 2

a[j]

【详解】

本题主要考查Python程序的执行与调试。①变量total用来统计有多少种情况,初始值为0,第一空填total=0。②当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3 == 2 and i%5 == 3 and i%7 == 2,满足if条件时,将该值加到列表a中,故第二空填i%3 == 2 and i%5 == 3 and i%7 == 2。③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。

21.C

A

B

【详解】

本题主要考查队列数据结构及Python程序。①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填(0),(0)。②队列入队使用append方法追加到队列尾,此处是男生入队(x),故选A选项。③同理,此处是女生入队(y),故选B选项。


本文标签: 本题 考查 变量