视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
全国青少年软件编程(Python)等级考试试卷(2级)图文
2025-10-04 17:52:20 责编:小OO
文档
全国青少年软件编程(Python)等级考试试卷(2级)图文

一、选择题

1.在Python中,设a=2,b=3,表达式a>b and b>=3的值是( )

A.1 .-1 .True .False

2.设a=2,b=5,在python中,表达式a>b And b>3的值是(  )

A.False .True .-1 .1

3.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是(  )

A.392019 .201939 .201920+19 .3939

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

A.Number型 .String型 .List型 .Sets型

5.现有如下python程序段:

for i in range( 6 ):

    p.append( int( random() * 10 ) + 1 )

for i in range( 2, 6 ):

    if i % 2 == 1 and p[ i ] % 2 == 0:

        p[ i ] += p[ i - 1]

    elif i % 2 == 0 and p[ i ] % 2 == 1:

        p[ i ] -= p[ i - 1]

执行该程序段后,在下列选项中,列表p中的元素值不可能的是()

A.1, 2, 3, 4, 7, 2

B.1, 2, 14, -9, -5, 8

C.6, 8, 1, 4, 6, 10

D.6, 4, 14, -7, 3, 8

6.我们可以对文本中词频较高的分词,通过词云图给予视觉上的突出,小明打算用Python程序来生成词云图,程序中需要用到以下哪个第三方库?(    )

A.WordCloud .math .random .turtle

7.Python语句 "ab"+"c"*2 的运行结果是(     )

A.abc2 .abcabc .abcc .ababcc

8.下列选项中,能作为python程序变量名的是(   )

A.s%1 .3stu .while .dist

9.下列可以被计算机直接执行的程序是(    )

A.机器语言程序 .高级语言程序 .汇编语言程序 .Python源程序

10.已知列表list1=[10,66,27,33,23],则python表达式max(list1)的值为(   )

A.10 .66 .5 .23

11.已知字符串a="python",则a[-1]的值为(   )

A."p" ."n" ."y" ."o"

12.python文件的扩展名是(  )

A.py .pye .vbp .pyr

13.在Python中,算式5+6*4%(2+8)结果为(  )

A.25

B.15

C.9

D.7.4

14.Python文件的后缀名是(     )

A.pdf .do .pass .py

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

 

A. . . .

二、程序填空

16.使用Python自身提供的IDLE集成开发环境录入以下代码及调试

运行,检测结果。

# 鸡兔同笼

for x in range(1,23):

y=35-x

if 4*x+2*y==94:

print("兔子有%s只,鸡有%s只"%(x,y))

特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。

17.某仓库物品代码格式为“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=[]

for i in range (0, 13):

if ___

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

sum=0

for i in range(0, 9) :

____

sdm=sum%10

___

if sdm==ydm :

print("正确")

else:

print("错误")

18.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。

[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。

print ("三位数之内的水仙花是:")

for x in___(100,1000):

b=x//100

s=(x//10)___

g=___

If x=(b**3 +s**3+g**3):

print(___)

19.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。使用 Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2

图1

图2

实现上述功能的 Python程序如下:

import pandas as pd

import itertools

#读数据到pandas的 DataFrame结构中

df=________ (”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)

km=[‘物理’ ,‘化学’ ,‘生物’ ,‘政治’ ,‘历史’ ,‘地理’ ,‘技术’ ] 

#按学校分组计数

sc=df.groupby(‘___________ ’ ,as_index=False).count()

#对分组计数结果进行合计,合计结果转换为 DF结构并转置为行

df_sum=pd.DataFrame(data=sc.sum()).T

df_sum[‘学校代码’]=‘合计’

#增加"合计"行

result=sc.append(df_sum)

#百分比计算

df_percent=df_sum

df_percent[‘学校代码’]=‘比例’

for k in km:

per=df_percent.at[0,k]/zrs

df_percent[k]=per

#增加"百分比"行

result=result.append(df_percent)

#删除"姓名"列

result=______________

#修改"学生编号"为"总人数"

result=result.rename(columns={‘学生编号’:‘总人数’})

#保存结果,创建 Excel文件.生成的 Excel文件

result.to_excel("学校人数统计.xlsx")

(1)请在划线处填入合适的代码:

(2)加框处语句的作用是__________________

20.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以下是一段用于判断某一年是否是闰年的程序。

请将上面程序框中空格处的内容填写完整,其中①处填写代码注释

___________   ______    __________  _______  _______

21.分析完善程序

已知包含25项的数列: 1,2/3,3/5,....,24/47,25/49。

问题1 :写出该数列的通项公式f(n)= _①

问题2 :以下是计算S=1+ 2/3+3/5+ ... + 24/47+ 25/49的程序,请补全代码:

s=0

for i in range(1,26):

    s=s+  ②  

print(“s=”,s)

补充完成上述通项公式和程序:

①f(n)=_________

②___________

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

一、选择题

1.D

【详解】

本题主要考查Python表达式的运算。逻辑运算符and两边都为真,值才为真,否则为假。a=2,b=3,a>b值为假,b>=3值为真,故表达式a>b and b>=3的值是False,故

解析:D

【详解】

本题主要考查Python表达式的运算。逻辑运算符and两边都为真,值才为真,否则为假。a=2,b=3,a>b值为假,b>=3值为真,故表达式a>b and b>=3的值是False,故本题选D选项。

2.A

【详解】

本题主要考查Python表达式的运算。a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>b And b>3的值是F

解析:A

【详解】

本题主要考查Python表达式的运算。a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>b And b>3的值是False,故本题选A选项。

3.C

【详解】

本题考查的是python语言。在python语言中,双引号之间是输出的是字符串。三对字符串之间都是原样输出。故选项C正确。

解析:C

【详解】

本题考查的是python语言。在python语言中,双引号之间是输出的是字符串。三对字符串之间都是原样输出。故选项C正确。

4.B

【详解】

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

解析:B

【详解】

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

5.BD

【详解】

本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i

解析:BD

【详解】

本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。

6.A

【详解】

本题主要考查Python库。WordCloud是优秀的词云展示第三方库 ,math库提供常用的数学函数,random提供常用的随机函数,turtle库用于绘图,故本题选A选项。

解析:A

【详解】

本题主要考查Python库。WordCloud是优秀的词云展示第三方库 ,math库提供常用的数学函数,random提供常用的随机函数,turtle库用于绘图,故本题选A选项。

7.C

【详解】

本题主要考查Python表达式的运算。“ab”、“c”是字符型数据类型,“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。

解析:C

【详解】

本题主要考查Python表达式的运算。“ab”、“c”是字符型数据类型,“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。

8.D

【详解】

本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。

解析:D

【详解】

本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。

9.A

【详解】

本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。

解析:A

【详解】

本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。

10.B

【详解】

本题主要考查Python表达式的运算。max返回序列最大值,列表list1=[10,66,27,33,23],则python表达式max(list1)的值为66,故本题选B选项。

解析:B

【详解】

本题主要考查Python表达式的运算。max返回序列最大值,列表list1=[10,66,27,33,23],则python表达式max(list1)的值为66,故本题选B选项。

11.B

【详解】

本题主要考查Python序列索引值。任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。

解析:B

【详解】

本题主要考查Python序列索引值。任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。

12.A

【详解】

本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。

解析:A

【详解】

本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。

13.C

【详解】

本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。

解析:C

【详解】

本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。

14.D

【详解】

本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。

解析:D

【详解】

本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。

15.D

【详解】

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

解析:D

【详解】

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

二、程序填空

16.错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)

错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。

【详解】

本题考查的是Python调试。本题程序错误如下:

错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)

错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。

调试完最终输出:兔子有12只,鸡有23只。

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

【详解】

本题主要考查Python程序执行与调试。①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9" 或s[i] in "01234567”。②校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。

18.range %10 x% 10或x-b*100-s*10或其它同等答案 x

【详解】

本题考查的是Python程序设计。水仙花数是指一个三位数,故使用range函数遍历100~999;s存放的是十位数,故可以选对x取整后再除以10求余,故第二空应填%10(求余符号%);g是存放个位,直接除以10求余,或减去前面整百和整十的数,故第三空为:x% 10或x-b*100-s*10或其它同等答案;如果找到满足条件的数,则输出,故第四空为:x。

19.pd.read_ csv 学校代码 result.drop (‘姓名’ ,axis=1) 将总人数存储到变量zrs中

【详解】

本题主要考查Python程序的执行与调试。①将csv文件读入并转化为数据框形式,故填pd.read_ csv。②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。③此处删除"姓名"列,可以使用drop()函数来删除,故填result.drop (‘姓名’ ,axis=1)。④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。

20.将year转换为整型数据,并赋值给year And year%100 != 0 or year

【详解】

本题主要考查Python程序设计。①input接收的数据类型是字符串型,该语句表示将year转换为整型数据,并赋值给year。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除,故第二、三、四空分别填② And ③year%100 != 0 ④or ⑤最后输出打印某一年是否是闰年,需要将year转换为字符型。

21.n/(2*n-1)或n/(n*2-1) i/(2*i-1) 或  i/(i*2-1)

【详解】

本题主要考查Python程序的执行与调试。①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1) 或s=s+ i/(i*2-1),故此处填i/(2*i-1) 或 i/(i*2-1)。下载本文

显示全文
专题