资料python软件编程等级考试一级编程实操题02.docx

上传人:b****5 文档编号:8101235 上传时间:2023-01-28 格式:DOCX 页数:14 大小:670.98KB
下载 相关 举报
资料python软件编程等级考试一级编程实操题02.docx_第1页
第1页 / 共14页
资料python软件编程等级考试一级编程实操题02.docx_第2页
第2页 / 共14页
资料python软件编程等级考试一级编程实操题02.docx_第3页
第3页 / 共14页
资料python软件编程等级考试一级编程实操题02.docx_第4页
第4页 / 共14页
资料python软件编程等级考试一级编程实操题02.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

资料python软件编程等级考试一级编程实操题02.docx

《资料python软件编程等级考试一级编程实操题02.docx》由会员分享,可在线阅读,更多相关《资料python软件编程等级考试一级编程实操题02.docx(14页珍藏版)》请在冰豆网上搜索。

资料python软件编程等级考试一级编程实操题02.docx

资料python软件编程等级考试一级编程实操题02

资料python软件编程等级考试(一级)编程实操题02

一、选择题

1.在Python中自定义函数需要什么关键字放在函数开始()

A.functionB.defC.defineD.void

2.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(

)。

A.PythonB.C++C.VBD.C

3.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。

这段源代码属于()。

A.程序B.软件C.指令D.命令

4.下列不可以作为Python合法变量名的是()

A.c0B.2aC.a_3D.小河

5.在Python中,实现多分支选择结构的较好方法是()。

A.ifB.if-elseC.if-elif-elseD.if嵌套

6.在PythonIDLE编辑器中书写正确的表达式()

A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r

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

A.abcd2B.abcdabcdC.abcdcdD.ababcd

8.下列选项中不能正确表达Python中的赋值语句的是()

A.X,Y=5,8B.X=Y=5C.X=Y+XD.10=X+Y

9.下列选项中,可作为Python变量名的是()

A.intB.AbcC.floatD.Complex

10.运行Python程序的过程中出现了如下图错误提示,原因是()。

A.变量名51study太长

B.应该写成"chinese"=51study

C.“chinese”应该写成“chinaˈs”

D.变量名51study不符合python语言规范,变量名不能以数字开头

11.下列选项中,不属于Python语言基本数据类型的是()

A.str

B.int

C.float

D.char

12.下面Python代码运行后,a、b的值为()

a=23

b=int(a/10)

a=a-b*10

print(a,b)

A.232B.32C.320D.23

13.下列哪个语句在Python中是非法的?

(  )

A.x=y=z=1B.x=(y=z+1)

C.x,y=y,xD.x += y

14.在Python中,Print(abs(-16//5))的执行结果是()

A.2.4B.3C.4D.-2.4

15.如下Python程序段

x=0

whilex<50:

x=(x+2)*(x+3)

运行后,x的值为()

A.0B.72C.50D.168

二、程序填空

16.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。

使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2

图1

图2

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

importpandasaspd

importitertools

#读数据到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[‘学校代码’]=‘比例’

forkinkm:

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)加框处语句的作用是__________________

17.阅读程序。

观察使用随机数求解百钱白鸡问题的代码并回答问题。

百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

importrandom

whileTrue:

x=random.randrange(0,20)

y=random.randrange(0,33)

z=random.randrange(0,100)

if5*x+3*y+z/3==100andx+y+z==100:

print('公鸡',x)

print('母鸡',y)

print('小鸡',z)

(1)Python中导入库文件的命令是________。

(2)random.randrange(0,20)生成的随机数的范围是_________

(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为

________

(4)whileTrue的作用是______。

(5)如果whileTrue造成程序无法停止,我们可以在程序中添加一行_________。

18.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。

list1=["玻璃瓶","旧书","金属","纸板箱","旧衣服","易拉罐"]

list2=["胶片","消毒水","纽扣电池","水银温度计","过期药水","泡沫塑料"]

list3=["动物内脏","菜叶菜梗","过期食品","香蕉皮","果壳"]

根据现有列表,完成以下问题:

(1)写出从列表list3中取出“过期食品”的表达式:

___________________________________________________________________________

(2)写出从list1中截取["旧书","金属","纸板箱"]这一段的表达式:

___________________________________________________________________________

(3)现又发现一个新的列表如下:

list4=["过期化妆品","过期药品","杀虫剂"],经过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:

__________________________________________________________________________

(4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:

__________________________________________________________________________

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.程序设计:

唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。

观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。

于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。

由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。

代码如下:

List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))

left=1

right=10000

while①

mid=②

ifList[mid]==1000:

elifList[mid]<1000:

else:

print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))

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

A.left<rightB.left<=rightC.left!

=rightD.left>right

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

A.(left+right)/2B.(left+right)\2

C.(left+right)//2D.(left+right)\\2

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

A.passB.print(mid)zC.breakD.continue

(4)程序代码中④处正确的代码是(_______)。

-

A.left=midB.right=midC.left=mid+1D.right=mid-1

(5)程序代码中⑤处正确的代码是(_______)。

A.left=midB.right=midC.left=mid+1D.right=mid-1

21.操作说明:

打开文件“Y:

/2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。

以下程序段的功能是:

输入一个正整数n(1至100),输出它的约数的个数。

s=0

n=int(input(“请输入一个正整数:

”))

ifn<1orn>100:

exit#输入的数不符合要求,退出

foriinrange(1,n+1):

ifn//i=0:

___<1>

s=s+i<2>

print(“约数的个数是:

”,s)

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

 

一、选择题

1.B

【详解】

本题主要考查Python函数。

自定义函数的格式是,def函数名(参数):

语句或语句组return返回值,故在Python中自定义函数需要def关键字放在函数开始,故本题选B选

解析:

B

【详解】

本题主要考查Python函数。

自定义函数的格式是,def函数名(参数):

语句或语句组return返回值,故在Python中自定义函数需要def关键字放在函数开始,故本题选B选项。

2.A

【详解】

本题主要考查程序设计语言。

编译型语言:

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。

Python属于解释性语言,

解析:

A

【详解】

本题主要考查程序设计语言。

编译型语言:

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。

Python属于解释性语言,C++和C属于编译性语言,vb是典型的编译+解释型语言,故本题选A选项。

3.A

【详解】

本题考查的知识点是程序概念。

程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。

程序中包括指令和数据。

软件是指包括所有在电脑运行的程序。

软件=程序+数据+文档。

解析:

A

【详解】

本题考查的知识点是程序概念。

程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。

程序中包括指令和数据。

软件是指包括所有在电脑运行的程序。

软件=程序+数据+文档。

指令是指示计算机执行某种操作的命令。

一个指令通常由两部分组成:

操作码+地址码。

根据它们的定义,可以得出题目中的源代码属于程序。

故A选项正确。

4.B

【详解】

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

变量的命名规则有:

不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。

解析:

B

【详解】

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

变量的命名规则有:

不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。

5.C

【详解】

本题主要考查多分支选择结构。

多分支选择结构格式:

if-elif-else,故本题选C选项。

解析:

C

【详解】

本题主要考查多分支选择结构。

多分支选择结构格式:

if-elif-else,故本题选C选项。

6.D

【详解】

本题主要考查Python表达式知识点。

书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*

解析:

D

【详解】

本题主要考查Python表达式知识点。

书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。

7.C

【详解】

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

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

解析:

C

【详解】

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

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

8.D

【详解】

本题主要考查Python赋值语句。

赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。

解析:

D

【详解】

本题主要考查Python赋值语句。

赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。

9.B

【详解】

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

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。

解析:

B

【详解】

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

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。

10.D

【详解】

本题考查的是程序调试。

报错内容是“语法错误:

无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。

解析:

D

【详解】

本题考查的是程序调试。

报错内容是“语法错误:

无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。

11.D

【详解】

本题主要考查Python数据类型。

python没有char类型,一个字符也是字符串,故本题选D选项。

解析:

D

【详解】

本题主要考查Python数据类型。

python没有char类型,一个字符也是字符串,故本题选D选项。

12.B

【详解】

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

a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2

解析:

B

【详解】

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

a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。

13.B

【详解】

本题主要考查Python赋值语句。

语句x=y=z=1,赋值x、y、z值均为1;语句x,y=y,x交换x、y的值;x+=y等价于x=x+y;语句x=(y=

解析:

B

【详解】

本题主要考查Python赋值语句。

语句x=y=z=1,赋值x、y、z值均为1;语句x,y=y,x交换x、y的值;x+=y等价于x=x+y;语句x=(y=z+1)是非法的,故本题选B选项。

14.C

【详解】

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

“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。

解析:

C

【详解】

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

“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。

15.B

【详解】

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

第一遍循环,x=(0+2)*(0+3)=6;第二遍循环x=(6+2)*(6+3)=72,不满足x<50,退出循环,故

解析:

B

【详解】

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

第一遍循环,x=(0+2)*(0+3)=6;第二遍循环x=(6+2)*(6+3)=72,不满足x<50,退出循环,故运行后,x的值为72,故本题选B选项。

二、程序填空

16.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中。

17.import0~19(包括0和19)importrandomasr让程序无限循环break;

【详解】

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

①Python中导入库文件的命令是import,如importrandom。

②random.randrange(0,20)生成的随机数的范围是0~19(包括0和19)。

③如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为importrandomasr(给random取个简单的别名)。

④whileTrue的作用是让程序无限循环。

⑤如果whileTrue造成程序无法停止,我们可以在程序中添加一行break;(满足条件后,执行break;可以跳出循环)。

18.list3[2]list1[1:

4]list2=list2+list4或list2.extend(list4)list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)

【详解】

本题主要考查Python列表数据类型。

①“过期食品”在列表list3索引2,故从列表list3中取出“过期食品”的表达式:

list3[2]。

②"旧书","金属","纸板箱"在列表list1索引1~3,从list1中截取["旧书","金属","纸板箱"]这一段的表达式:

list1[1:

4](不包括4)。

③将该列表中的元素添加到list2中,表达式是list2=list2+list4或list2.extend(list4)。

(extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表))。

④将塑料瓶添加到列表list1中:

list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)(append字符追加函数)。

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.BCCCD

【详解】

本题主要考查二分查找算法及Python程序实现。

①二分查找的循环条件是left<=right,故选B选项。

②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。

③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。

④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续

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

当前位置:首页 > 医药卫生 > 临床医学

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

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