python二级模拟题

2023-11-12

PYTHON二级模拟题

一、选择题(每题1分,总分40分)

1、下列叙述中正确的是()
A、算法的时间复杂度是指算法在执行过程中基本运算的次数
B.算法的时间复杂度是指算法执行所需要的时间
C、算法的时间复杂度是指算法执行的速度
D、算法复杂度是指算法控制结构的复杂程度
A 【解析】算法的时间复杂度是指执行算法所需要的计算工作量,其计算工作量是用算法所执行的基本运算次数来度量的。本题选择A选项。

2、下列叙述中正确的是()
A、循环队列是队列的一种链式存储结构
B、循环队列是队列的一种顺序存储结构
C、循环队列中的队尾指针一定大于队头指针
D、循环队列中的队尾指针一定小于队头指针
B 【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。当循环队列满或者为空时:队尾指针-队头指针。本题选择B选项。

3、某完全二叉树有256个结点,则该二叉树的深度为()。
A. 7 
B.8
C.9 
D.10
c 【解析】根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log,nj+1,本题中完全二叉树共有256个结点,则深度为iloa-2561+1-8+1-9,本题选择C选项。

4、下列叙述中错误的是()。
A.线性结构也能采用链式存储结构
B、线性结构一定能采用顺序存储结构
C、有的非线性结构也能采用顺序存储结构
D、非线性结构一定不能采用顺序存储结构
D 【解析】满二叉树与完全二叉树均为非线性结构,但可以按照层次进行顺序存储。本题选择D选项。

5、需求分析的主要任务是()。
A.确定软件系统的功能
B、确定软件开发方法
C、确定软件开发工具
D、确定软件开发人员
A 【解析】需求分析是软件开发之前必须要做的准备工作之一。需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。故需求分析的主要任务是确定软件系统的功能。本题选择A选项。

6、一个模块直接调用的下层模块的数目称为模块的()。
A、扇入数
B、扇出数
C、宽度
D、作用域B 【解析】扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题选择B选项。

7、将数据和操作置于对象统一体中的实现方式是()。
A.隐藏
B、抽象
C、封装
D、结合
C 【解析】对象具有封装性,从外面看只能看到对象的外部特性,对象的内部对外是封闭的。即封装实现了将数据和操作置于对象统一体中。本题选择C选项。

8、采用表结构来表示数据及数据间联系的模型是()。
A.层次模型
B.概念模型
C、网状模型.
D.关系模型
D 【解析】关系模型采用二维表来表示,简称表。本题选择D选项。

9、在供应关系中,实体供应商和实体零件之间的联系是()。
A、多对多
B.-对一
C、多对一
D、一对多
A 【解析】-家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题选择A选项。

10、如果定义班级关系如下:班级(班级号,总人数,所属学院,班级学生)则使它不满足第一范式的属性是()。A、班级号B班级学生C、总人数D、所属学院B 【解析】对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级"关系的"班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。本题选择B选项。

11、在Python语言中,不能作为变量名的是()。
A. student
B. bmg
C. 5sp
D. Teacher
c 【解析】在Python中,变量名的命名规则:以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头。本题选择C选项。

12、以下关于Python缩进的描述中,错误的是()。
A、缩进表达了所属关系和代码块的所属范围
B、缩进是可以嵌套的,从而形成多层缩进
C、判断、循环、函数等都能够通过缩进包含一批代码
D. Python用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格
D 【解析】缩进:在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进,不是同一层次的语句不需要缩进。所以不是所有代码行前都要加空格。本题选择D选项。

13、以下代码的输出结果是()。
x= 'R\OSYOT
print(len(x))
A. 3  B.5  C.7   D.6
B 【解析】在Python中len()函数是输出字符串长度,x=R\OSSOT,分别有R,10, S、\0和T5个字符,所以len(x)-5,print(len(x))是将5打印出来。这里要注意, Python中len0函数遇见"0不结束, "0算是一个转义字符。本题选择B选项。

14、以下关于Python语言技术特点的描述中,错误的是()。
A、对于需要更高执行速度的功能,例如数值计算和动画, Python语言可以调用C语言编写的底层代码
B. Python比大部分编程语言具有更高的软件开发产量和简洁性
C. Python语言是解释执行的,因此执行速度比编译型语言慢
D. Python是脚本语言,主要用作系统编程和Web访问的开发语言
D 【解析】 Python是一种解释型高级通用脚本语言,具有通用性,可以用于几乎任何与程序设计相关应用的开发。主要应用于以下几个领域: Web开发,爬虫开发,科学计算,高性能服务器后端,开发界面程序, QT也提供了Python的支持,因为Python的开源库包含了对C/C++ lib库的调用。主要二字太过绝对,因此D选项错误。

15、以下代码的输出结果是()
x=12+ 3 * (5*8)-14)//6
print(x)
A.25.0  B.65  C.25  D.24
C 【解析】在Python中算术运算符" //"来表示整数除法,返回不大于结果的一个最大的整数,而"/"则单纯的表示浮点数除法,返回浮点结果。所以先计算5*8-40,4014-26,26*3-78,78//6-13, 12+13-25,本题选择C选项。

16、以下关于Python循环结构的描述中,错误的是()。
A, break用来结束当前当次语句,但不跳出当前的循环体
B、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range0)函数等
C, Python通过for, while等保留字构建循环结构
D, continue只结束本次循环
A 【解析】在Python中, break意为结束循环, continue是结束当前循环进入下一个循环。本题选择A选项。

17、以下构成Python循环结构的方法中,正确的是() 。
A, while   B. loop  C, if  D, do...for
A 【解析】 Python中的循环结构有for语句和while语句。if是选择结构语句。本题选择A选项。

18、以下代码绘制的图形是()。
import turtle as t
for i in range(1,7): 
	t.fd(50)
	t.left(60)
A.正方形B、六边形•c、三角形D、五角星
B 【解析】先用import导入turtle库, for循环依次将1-6赋给变量i,分别被依次赋值为1,2,3,4,5,6, fd0是画笔当前的前进方向, left)是画笔移动的角度,故绘制出来的是六边形。本题选择B选项。

19、以下关于Python语言的描述中,正确的是()。
A.条件4<=5<=6是合法的,输出False
B、条件4<-5<-6是不合法的
C、条件4<=5<=6是合法的,输出True
D.条件4<=5<-6是不合法的,抛出异常
c 【解析】判断条件4<=5<-6是成立的,故输出True,本题选择C选项。

20、以下代码的输出结果是()
for i in range(1,6): 
if i%4 == 0:
	continue
else:
	print(i,end =",")
A, 1,2,3,
B, 1,2,3,4,
C, 1,2,3,5,
D.123456
c 【解析】 for循环依次将1-5赋给i,i从1,2,3,4,5依次变化,当194--0时,结束本次循环进入下一循环;反之输出i的值,故输出结果为: 1,2,3,5, 。本题选择C选项。

21、以下代码的输出结果是()。
t=10.5
def above zero(t): 
	return t>0
A, True  B. False  C, 10.5  D、没有输出
D 【解析】在Python语言中, return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。

22、以下关于Python语言的描述中,正确的是()。
A、函数中return语句只能放在函数定义的最后面
B.定义函数需要使用保留字def
C、使用函数最主要的作用是复用代码
D, Python函数不可以定义在分支或循环语句的内部
B 【解析】函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数主要的作用是提高应用的模块性和代码的重复利用率。C项错误。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。A项错误。在Python语言中,函数可以定义在分支或循环语句的内部, D项错误。Python语言通过保留字def定义函数,定义语法如下:def <函数名x(<非可选参数列表><可选参数>-<默认值>):
<函数体>return<返回值列表>·可选参数一般都放置在非可选参数的后面。本题选择B选项。

23、以下代码的输出结果是()。
def young(age):
if 25 <= age <= 30:
	print("作为一个老师,你很年轻")
elif age <25:
	print("作为一个老师,你太年轻了")
elif age >= 60:
	print(作为一个老师,你可以退休了")
else:
	print("作为一个老师,你很有爱心")
young(42)
A、作为一个老师,你很年轻
B、作为一个老师,你太年轻了"
C、作为一个老师,你可以退休了
D、作为一个老师,你很有爱心
D 【解析】将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42<60,故执行else后面的语句,即输出“作为一个老师,你很有爱心" 。本题选择D选项。

24、以下代码的输出结果是()
def fibRate(n): 
if n <= 0: 
	return -1 
elif n ==1: 
	return -1 
elif n ==2: 
	return 1
else:L=[1,5]
	for i in range(2,n):
	L.append(L[-11+L[-2])
	return L[-21%L[-1]
print(fibRate(7))
A.0.6  B.28  C.-1  D.1
B 【解析】将7传递给函数形参变量n,之后进入多分支结构,依次判断后,执行else后面的语句。
fori句为: foriin range(2,7), i从2依次变化到6,循环5次,将L[-1]+L[-2]的值通过append()方法加入到列表L中。
当i=2时, L[-1]+L[-2]-5+1-6,将6添加到列表L中,此时L=[1,5,6];
当i=3时, L[-1]+L[-2]-6+5-11,将11添加到列表L中,此时L-[1.5,6,11];
当i=4时, L[-1]+L[-2]-11-6-17,将17添加到列表L中,此时L=11,5,6,11,17];
当i=5时, L-1}-L2-1+11-28,将28添加到列表L中,此时L=[1,5,6,11,17,28];
当i=6时, L-1]-L2-2=2817-45,将45添加到列表L中,此时L=[1,5,6,11,17,28,451
最后L[-2]%L[-1]=28%45-28,故程序输出28。本题选择B选项。

25、以下关于函数返回值的描述中,正确的是()。
A, Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值
B、函数定义中最多含有一个return语句
C、在函数定义中使用return语句时,至少给一个返回值
D、函数只能通过print语句和return语句给出运行结果
A 【解析】在Python语言中, return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。当函数使用return返回多个值时,这些值形成了一个元组数据类型,由小括号和逗号分隔,如(a,b.c),可以使用一个变量或多个变量保存结果。本题选择A选项。

26、以下代码的输出结果是()。
def Hello(famlyName,age): 
if age > 50:
	print("您好! "+famlyName +"奶奶")
elif age > 40:
	print("您好! "+famlyName+"阿姨")
elif age > 30 
	print("您好!"+famlyName+"姐姐")
else:
	print("您好! "+"小"+famlyName)
Hello(age=43, famlyName="赵)
A、您好!赵奶奶
B.您好!赵阿姨
C.您好!赵姐姐
D.函数调用出错
B 【解析】将实参age-43, famlyName="赵"分别赋给形参aqe和famlyName,之后进入多分支结构进行判断,因为40<age-43<50,执行第一个elif后面的语句,用"+"进行字符串连接,故输出“您好!赵阿姨" 。本题选择B选项。

27、以下代码的输出结果是()
ls=[12,3],'python',[14,5, 'ABC'].6],[7,8]]
print(s[2][1)
A, 'ABC"   B, p   C、4  D,6
D 【解析】列表索引序号从0开始,所以Is[2][1]指的是列表中序号为2的元素中序号为1的元素,输出结果是6,本题选择D选项。

28、以下代码的输出结果是()
Is = ["2020", "1903", Python"]
Is.append(2050) 
Is.append([2020, "2020") 
print(ls)
A, [2020', '1903", 'Python', 2020, [2050, "2020]] 
B.[2020, '1903, 'Python', 2020]
C. [2020, '1903', 'Python', 2050, [2020, 2020']]
D. [2020, '1903, "Python', 2050, [2020']]
C 【解析】要向列表中添加元素,可以使用append)方法,添加的元素类型可以不同,可以是数字、字符串、列表等。要注意的是append()方法不能同时添加多个元素。本题选择C选项。

29、以下代码的输出结果是()
d={}"大海"蓝色","天空":"灰色","大地":"黑色"}
print(d["大地"], d.get("天空", "黄色"))
A、黑色黑色   B.黑色灰色  C、黑色黄色  D、黑色蓝色
B 【解析】在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。
字典使用大括号(建立,每个元素是一个键值对,使用方式: {<键1>:<值1>,<键22:<值2> n:<值n>},
其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。
d键获取键对应的值, d.get(key,default)方法是用来返回key对应的值,如果字典中不存在该键,则返回默认值。本题选择B选项。

30、以下选项,正确的是()。
A、序列类型是一维元素向量,元素之间存在先后关系,通过序号访问
B、序列类型可以分为3类:字符串、字典和列表
C、表示单一数据的类型被称为组合数据类型
D, Python的str, dict, tuple和list类型都属于序列类型
A 【解析】序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
Python语言中有很多数据类型是序列类型,其中比较重要的是字符串类型、列表类型和元组类型。
字典是存储可变数量键值对的数据结构,通过字典类型实现映射。
所以字典是映射类型,不是序列类型。B,D两项错误。表示不同数据的类型被称为组合数据类型, C项错误。本题选择A选项。

31、以下代码的输出结果是()。
d={}
for i in range(26):
d[chr(i+ord("A")] = chr((i+13) % 26 + ord("А"))
for c in "Python": 
print(d.get(c, c), end="")
A. Plguba   B. Cabugl  C. Python"  D.Cython
D 【解析】 ord()函数是把字符转换成对应的ASCIl码, chr0函数是ord()函数的逆运算,把ASCI1码转换成对应的字符输出,所以ord("A")为65,第一个for循环的作用是生成键值对存储在字典变量d中。例如,当i-0, dAl-N; i=1, d[B]=0 一直到i-13, dIN]-A,后面的键和值与前面的是互换位置的,如i=14, dj0l=B: i=15, d[Pl=C.。依次循环赋值,直到i-25时结束for循环。第二个for循环的作用是输出字典的值, get(key,default=None)函数有两个参数:第一个参数是字典的键,第二个参数是默认值,作用是返回字典中key对应的值,如果key不存在,则返回默认值,如d=("A":"N","O":"B","Z":"M"1.d.get("A","C")返回的是N,当c="P"时,去字典中查找是否存在键为"P"的值,遍历后存在,所以返回C,for循环继续遍历剩下的字符,在字典中找不到对应的键,则返回默认值,所以结果返回为Cython,本题选择D选项。

32、以下关于Python二维数据的描述中,错误的是()。
A, CSV文件的每一行是一维数据,可以用列表、元组表示
B.从CSV文件获得数据内容后,可以用replace()来去掉每行最后的换行符
C、若一个列表变量里的元素都是字符串类型,则可以用join()合成字符串
D、列表中保存的二维数据,可以通过循环用writelines()写入csV文件
D 【解析】在Python语言中, writelines(方法是将一个元素为字符串的列表整体写入文件; write()方法是向文件写入一个字符串或字节流,每次写入后,将会记录一个写入指针。二维列表对象输出为CSV格式文件采用遍历循环和字符串的join()方法相结合,方法如下:
# ls代表二维列表,此处省略
f=open("cpi.csv","w")
for row in 1s:
f.write(".join(row)+"n") 
f.close()
本题选择D选项。

33、以下关于文件的描述中,错误的是()。
A、文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容
B、可以使用open0打开文件,用close0关闭文件
C、使用read0可以从文件中读入全部文本
D、使用readlines(可以从文件中读入一行文本
D 【解析】文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。A项正确。可以使用open(打开文件,用close0关闭文件, B项正确。在Python语言中,文件读取方法有(设代表文件变量) :
f.read():从文件中读入整个文件内容。
f.readline():从文件中读入一行内容。
f.readines():从文件中读入所有行,以每行为元素形成一个列表。
f.seek():改变当前文件操作指针的位置。c项正确。本题选择D选项。

34、以下关于文件的描述中,正确的是() 。
A、使用open)打开文件时,必须要用或w指定打开方式,不能省略
B、采用readlines0可以读入文件中的全部文本,返回一个列表
C、文件打开后,可以用write0控制对文件内容的读写位置
D、如果没有采用close0关闭文件, Python程序退出时文件将不会自动关闭
B 【解析】使用open(打开文件时,省略打开模式,会默认只读方式打开;
文件打开后,可以用seek)方法控制对文件内容的读写位置, write()方法只是向文件写入一个字符串或者是字节流;
如果没有采用close0关闭文件,程序退出时一般会自动关闭,但有可能会导致数据丢失。本题选择B选项。

35、以下不属于Python文件操作方法的是()。
A, read()   B, write()  C、 join()  D. readline()
C【解析】 Python文件读取方法有: f.reado, f.readline0, f.readlines0、f.seek0, Python文件写入方法有:f.write0, f.writelines0。本题选择C选项。

36、以下关于数据组织的描述中,错误的是()。
A.一维数据采用线性方式组织,可以用Python集合或列表类型表示
B、列表类型仅用于表示一维和二维数据
C、二维数据采用表格方式组织,可以用Python列表类型表示
D、更高维数据组织由键值对类型的数据构成,可以用Python字典类型表示
A 【解析】一维数据采用线性方式组织,在Python语言中主要采用列表形式表示,集合不属于线性结构。
二维数据采用二维表格方式组织,在Python语言中可以采用二维列表形式表示。
高维数据由键值对类型的数据构成,采用对象方式组织,在Python语言中可以采用字典类型表示。
在Python中,列表类型仅用于表示一维和二维数据。本题选择A选项。

37、文件exam.txt与以下代码在同一目录下,其内容是一段文本: bigBen,以下代码的输出结果是()。
f = open("exam.txt") 
print()
f.close)
A, bigBen   B, exam.txt   C, <io.TextiOWrapper...   D, examc 
C【解析】 open)函数打开一个文件,并返回可以操作这个文件的变量f,并且open()函数有两个参数:文件名和打开模式。
本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(f)语句输出的是变量代表的文件的相关信息:
< io.TextIOWrapper name='exam.txt'mode='r' encoding='cp936'>若想要输出文件的内容,需要把文件的内容读入,如f1=fread0)。本题选择C选项。

38、不属于Python开发用户界面第三方库的是()。
A, PyGObject
B, PyQt
C, time
D, PyGTK
c 【解析】 PyQt (QT开发库) 、PyGObject和PyGTK(GTK+库)均是Python开发用户界面的第三方库。而time库是Python提供的处理时间标准库。本题选择C选项。

39、不属于Python数据分析及可视化处理第三方库的是0)
A, seaborn   B, random   C. mayavi2   D, numpy
B 【解析】属于Python数据分析及可视化的第三方数据库的有: numpy, scipy, pandas, matplotlib, TVTKmayavi (也称mayavi2)等。
random库是Python语言用于产生各种分布的伪随机数序列的库。本题选择B选项。

40、属于Python用于Web开发第三方库的是()。
A, pygame    B, scipy   C, pdfminer   D. pyramid
D 【解析】属于Web开发方向的Python第三方生态库有:Django, Pyramid, Flask等。 
Pygame属于游戏开发方向, scipy属于数据分析方向, pdfminer属于文本处理方向。本题选择D选项。

二、基本操作题

41.考生文件夹下存在一个文件PY101 py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入字符串s,按要求把输出到屏幕,格式要求:宽度为30个字符,星号字符*填充,居中对齐。如果输入字符串超过30,则全部输出。
例如:键盘输入字符串s为"Congratulations",屏幕输出*Congratulations*
【参考答案】
s= input ("请输入一个字符串:")
print (" {:*^30}". format (s))
【解题思路】该题目主要考查Python字符串的格式化方法。字符串的format)格式化方法的使用方法如下: <模板字符串> format(<逗号分隔的参数2)。题目的输出格式为居中对齐、30个字符、星号填充,模板字符串的设计为{*^30}42.考生文件夹下存在一个文件PY102py,请写代码替换横线,不修改其他代码,实现以下功能:
根据斐波那契数列的定义, F(0)-0, F(1)=1, F(n)-F(n-1)+F(n-2)(n>=2) ,输出不大于50的序列元素。
例如:屏幕输出实例为:0,1,2.3... ()
【参考答案】
a, b=0, 1
while a <= 50: 
    print (a, end=',') 
    a, b = b, a+b
【解题思路】斐波那契数列又被称为黄金分隔数列,这个数列从第三项开始,每一项都等于前两项之和。在Python中可以使用序列赋值方法给多个变量赋值,变量之间使用英文逗号隔开。由题目要求可知不大于50是控制循环的条件。

43.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。
示例如下:
输入:我爱老师
输出:老师爱我
【参考答案】
import jieba
txt = input ("请输入一段中文文本:")
Is = jieba. lcut (txt) 
for i in ls[::-1]: 
    print (i, end="")
【解题思路】该题目使用jeba中文分词库对输入的字符串进行分割,然后按照在原话中逆序输出。
jieba库是Python的第三方库,需要导入之后才可以使用。jieba库提供了3种分词模式:
精确模式、全模式和搜索引擎模式。其中精确模式分词的词语拼接没有冗余,是最经常使用的。
精确模式对字符串的分词操作为jiebalcut(txt),该函数返回的是一个列表且列表中每一个元素都是一个中文词语。
最后,把返回的列表中的内容使用列表切片的方法,将其逆序输出。

三、简单应用

44.
在这里插入图片描述

【参考答案】
import turtle
for i in range(3):
    turtle.seth(i*120)
    turtle.fd(100)
【解题思路】题目考查“海龟绘图体系”,绘制简单的等边三角形。使用turtle库之前需要使用import关键字把urtle库导入。由于题目要求使用setho函数,因此,需要在绘制每条边时计算绝对绘制方位,可以利用循环变量计算三个边的绝对角度。

45
在这里插入图片描述

答案

fo = open("PY202.txt","w")
txt = input("请输入类型序列: ")
fruits = txt.split(" ")
d = {}
for fruie in fruits:
   d[fruit] = d.get(fruit,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)  # 按照数量排序
for k in ls:
   fo.write("{}:{}\n".format(k[0], k[1]))
fo.close()
【解题思路】“统计元素个数"问题非常适合采用字典类型表达,即构成元素:次数"的键值对。
因此我们可以把输入的数据,构造成一个字典类型存储。创建字典变量d,可以利用“a键]-值”方式为字典增加新的键值对变量。
下面代码是最常用的对元素进行统计的语句:
d[fruit] =d.get(fruit,0) + 1
其作用就是增加元素fuit出现的次数。get0方法获得字典中fuit作为,键对应的值,即fuit出现的次数。如果fuit不存在,则返回0;存在,则返回值。
由于题目要求需要按照数量的多少进行排序输出,因此需要把字典类型转换为列表类型,使用字典的itemso函数返回包含所有键值对的项,使用ist0函数把取出的内容重新构造成一个列表。
列表中的每个元素都是一个键值对形式的元组。最后,使用sorto函数按照每个元组中序号为1的元素进行降序排列输出。

四、综合应用

46.
在这里插入图片描述

PY301-1.PY

# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
fo = open("PY301-1.txt","w")
...
d = {}
...
fo.write("{}:{}".format(______))
fo.close()

PY301-2.PY

# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准

...
fo = open("PY301-2.txt","w")
...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
...

PY301-3.PY

# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准

...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
...

在这里插入图片描述

答案

# (1)
fi = open("小女孩.txt",'r')
fo = open('PY301-1.txt','w')
txt = fi.read()
d = {}
exclude = ", 。 ! ? 、 () 【】 《》 = : +——“” …… "
for word in txt:
    if word in exclude:
        continue
    else:
        d[word] = d.get(word,0) + 1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse = True)
fo.write("{}:{}".format(ls[0][0],ls[0][1]))
fo.close()
fi.close()

# (2)
fi = open("小女孩.txt",'r')
fo = open('PY301-2.txt','w')
txt = fi.read()
d = {}
for word in txt:
    d[word] = d.get(word,0) + 1
del d["\n"]
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse = True)
for i in range(10):
    fo.write(ls[i][0])
fo.close()
fi.close()

# (3)
fi = open("小女孩.txt",'r')
fo = open('PY301-3.txt','w')
txt = fi.read()
d = {}
for word in txt:
    d[word] = d.get(word,0) + 1
del d[" "]
del d["\n"]
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse = True)
for i in range(len(ls)):
    ls[i] = "{}:{}".format(ls[i][0],ls[i][1])
    fo.write(",".join(ls))
fo.close()
fi.close()


答案

选择题


1-5      A B C D A

6-10     B C D A B

11-15    C D B D C

16-20    A A B C C

21-25    D B D B A

26-30    B D C B A

31-35    D D D B C 

36-40    A C C B D

作者:吴常文
出处:https://blog.csdn.net/qq_41405475
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python二级模拟题 的相关文章

随机推荐

  • doris tips

    1 schema表格式字段长度 如果是数字 字母这种的长度等于hive sql里面 length variable 的长度 如果是中文要占3 4个Char 2 表增加分区 可以通过脚本自己构造多个sql 语句 类似 ALTER TABLE
  • 【C语言】rand()函数(如何生成指定范围随机数)

    一 rand 函数简介 我们先来看一下cplusplus com The C Resources Network网站上rand函数的基本信息 系统生成随机数时需要使用rand函数 rand 会返回一个范围在0到RAND MAX 32767
  • groovy语言单元测试(spock)

    一 spock groovy单元测试的五种情况 单元测试 given mock单测中指定mock数据 模拟入参 when 触发行为 比如调用指定方法或函数 then 做出断言表达式 expect 期望的行为 when then的精简版 si
  • Linux的IO端口和IO内存

    Linux的IO端口和IO内存 分类 linux编程 2011 01 14 13 22 866人阅读 评论 1 收藏 举报 io linux linux内核 struct 平台 x86 CPU对外设端口物理地址的编址方式有两种 一种是IO映
  • 外界访问ubuntu端口bug解决

    跟着视频教程在ubuntu上部署了nacos 但是主机无法访问8848端口 虚拟机可以 检查防火墙以及8848端口 防火墙已关闭 端口也是开放的 virtual machine practice nacos logs sudo ufw st
  • iframe和form表单实现ajax请求上传数据

    form的target属性设置为iframe的name值时 表示提交到url后返回的数据显示到iframe区域
  • DeepSORT(工作流程)

    关于多目标跟踪 DeepSORT是针对多目标跟踪的跟踪算法 有人可能会想 将传统的单目标跟踪算法直接用于多目标跟踪 一起对每一个目标进行单目标跟踪不可以吗 理论上似乎可行 但是实际应用中会发现 单纯的套用单目标跟踪算法用于多个目标进行跟踪的
  • vue2在element UI的table中给指定列添加圆点标志,鼠标悬浮出提示信息

    项目场景 要求在列表数据给指定数据添加一些标志 鼠标悬浮提示指定数据 左侧为标志截图 右侧为悬浮提示截图 HTML布局 在template中想要添加标志的那一列添加圆点和悬浮提示信息两个节点 并添加单元格进入 退出事件两个事件 div cl
  • 想转行做软件测试?快来看看你适不适合

    我们来讨论这样一个问题 软件测试适合什么样的人干 每个人有每个人的看法 A 男生 B 女生 C 有耐性不足的人 沟通能力不好 抗打击能力不强的 逻辑太混乱 没有思路的人 比较懒的人 学习能力不强而又不积极主动的人 D 认真 负责 仔细 有恒
  • 【自然语言处理】BERT 讲解

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 自然语言处理 Seq2Seq 讲解 自然语言处理 Attention 讲解 自然语言处理 ELMo 讲解 自然语言处理 Transformer 讲解 BER
  • vb中的三目运算

    IIf 函数 根据表达式的值 来返回两部分中的其中一个 语法 IIf expr truepart falsepart IIf 函数的语法含有下面这些命名参数 部分 描述 expr 必要参数 用来判断真伪的表达式 truepart 必要参数
  • 用爱思助手自签名ipa文件成功后安装失败

    设备 iPad pro 2021 系统版本 ios15 6 1 ipa文件已签名成功
  • python 将数组中取某一值的元素全部替换为其他元素的方法

    这里的问题是在做House Price Prediction的时候遇到的 尝试对GarageArea做log转化 但是由于有些房子没有车库 所以GarageArea 0 再通过log转化变成 inf了 所以我想把所有 inf的数据全部再转化
  • MySQL学习笔记

    自己学习MySQL时整理的笔记 包括实操中遇到的问题 不同版本之间的差异 后续也会继续完善 有PDF文档版 学习视频 https www bilibili com video BV1Kr4y1i7ru t 1 9 怎么学 收获 基础篇 初级
  • redis持久化(RDB、AOF)

    redis是内存数据库 但是不仅限于内存 redis有其持久化的方式 共有三种持久化的方式 方式1 生成dump rdb文件 方式2 生成appendonly aof文件 方式3 master slave 主从复制读写分离 RDB redi
  • 神州数码高端ERP系统在上海田岛工具顺利实施

    通过计算机和先进的管理软件实施企业高效管理 上海田岛工具有限公司是一家日资企业 位于上海工业之重的松江 松江工业园 经过近十年发展 已初具规模 并日益壮大 2001年二期厂房扩建并投产 公司主要从事刀具 卷尺及建筑用激光水准仪系列产品的加工
  • 【决战Koa之巅-1】花三分钟搭建一个简单的 Koa 服务

    KOA 是什么 基于 Node js 的下一代 web 开发框架 更直白一些就是使用 JS 开发 API 接口服务 怎么搭建 1 创建一个文件夹 mkdir koa test 2 进入文件夹 初始化 npm 根据提示输入即可 npm ini
  • 校园网络技术需求分析

    路由技术 路由协议工作在 OSI 参考模型的第 3 层 因此它的作用主要是在通信 子网间路由数据包 路由器具有在网络中传递数据时选择最佳路径的能力 除了可以完成主要的路由任务 利用访问控制列表 Access Control List ACL
  • ELK日志平台搭建(一)

    ELK企业级日志分析系统 ELK是由Elasticsearch Logstash Kiban三个开源软件的组合 在实时数据检索和分析场合 三者通常是配合共用 而且又都先后归于 Elastic co 公司名下 故有此简称 ELK中日志处理步骤
  • python二级模拟题

    PYTHON二级模拟题 一 选择题 每题1分 总分40分 1 下列叙述中正确的是 A 算法的时间复杂度是指算法在执行过程中基本运算的次数 B 算法的时间复杂度是指算法执行所需要的时间 C 算法的时间复杂度是指算法执行的速度 D 算法复杂度是