版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江西省吉安市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(30题)1.以下选项中不是Python文件目录操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
2.给定列表Is=[1,2,3,"1",”2",”3”],其元素包含两种数据类型,列表18的数据组织维度是()。
A.二维数据B.—维数据C.多维数据D.高维数据
3.下列叙述中正确的是()。
A.找是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以釆用顺序存储结构,也可以采用链式存储结构
4.下列关于分支结构的描述错误的是()。
A.分支结构包括单分支结构、二分支结构及多分支结构
B.单分支结构的书写形式包括(if-else)
C.多分支结构通常适用于判断一类条件或同一个条件的多个执行路径
D.使用多分支结构时需要注意多个逻辑条件的先后顺序,避免逻辑上的错误
5.给定列表ls=[1,2,3,”1”,”2”,”3”],其元素包含两种数据类型,列表ls的数据组织维度是()。
A.二维数据B.一维数据C.多维数据D.高维数据
6.以下程序的输出结果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
7.关于Python元组类型,描述错误的是()。
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.—个元组可以作为另一个元祖的元素,可以采用多级索引获取信息
8.以下不属于Python数据分析领域第三方库的是()。
A.scrapyB.NumPyC.pandasD.matplotlib
9.以下程序Dog类中的__init__()方法共包含几个形参()。ClassDog(): def__init__(self,name,age) =name self.age=age
A.0个B.1个C.2个D.3个
10.假设city,csv文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹以下代码的输出结果是()。f=open("city,csv”,“r”)Is=f.read().split(",")f.close()print(Is)
A.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯\n白俄罗斯’,’比利时’,’伯利兹]
B.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’白俄罗斯’,’比利时’,’伯利兹]
C.[’巴哈马’,’巴林’,’孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]
D.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’\n’,’白俄罗斯’,’比利时’,’伯利兹’,’]
11.下面关于Python中模块导入的说法错误的是()。
A.Python可以导入一个模块中的特定函数
B.通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数
C.使用#号(#)运算符可以导入模块中的所有函数
D.Python中可以给模块指定别名,通过给模块指定简短的别名,可更轻松调用模块中函数
12.以下保留字不属于分支结构的是()。
A.ifB.elseC.whileD.elif
13.以下关于数据维度的描述,错误的是()。
A.列表的索引值是大于0小于列表长度的整数
B.JSON格式可以表示比二维数据还复杂的高维数据
C.二维数据可以看成多条一维数据的组合形式
D.CSV文件既能保存一维数据,也能保存二维数据
14.列表listV=list(range(10)),以下能够输出列表listV中最小元素的是()。
A.print(min(listV))
B.print(listV.max())
C.print(min(listV()))
D.print(listV.reverse(i)[0])
15.以下程序的输出结果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
16.以下不属于Python的pip工具命令的是()。
A.getB.installC.showD.download
17.设str1=’*@python@*’,语句print(strl[2:].strip(’@’))的执行结果是()。
A.python@*B.lpython*C.*@python@*D.*python*
18.以下不属于Python开发用户界面第三方库的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
19.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段
20.以下关于Python文件打开模式的描述中,错误的是()。
A.只读模式rB.覆盖写模式wC.追加写模式aD.创建写模式n
21.关于Python元组类型,以下选项中描述错误的是()。
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.一个元组可以作为另一个元祖的元素,可以采用多级索引获取信息
22.—个类继承另一个类,那么被继承的这个类被称为()。
A.超类B.子类C.类D.继承类
23.不能使下面代码结束的是()。whileTrue:inp=eval(input(”请输入一个数值:”))ifinp//3:break
A.2B.3C.4D.5
24.以下代码的输出结果是()。t=10.5defabove_zero(t):returnt>0
A.TrueB.FalseC.10.5D.没有输出
25.以下关于Python函数的描述中,错误的是()。
A.Python程序的main()函数可以改为其他名称
B.如果Python程序包含一个函数main(),这个函数与其他函数地位相同
C.Python程序可以不包含main()函数
D.Python程序需要包含一个main()函数且只能包含一个main()函数
26.下面关于Python标准库和第三方库的说法正确的是()。
A.Python的第三方库是随着Python安装时默认自带的库
B.Python的标准库和第三方库的调用方式都一样,都需要用import语句调用
C.Python的第三方库需要用import语句调用,而标准库不需要
D.Python的标准库需要用import语句调用,而第三方库不需要
27.Python中匿名函数的关键字是()。
A.lambdaB.globalC.withD.I)ass
28.以下关于文件的描述中,正确的是()。
A.使用open()打开文件时,必须要用r或w指定打开方式,不能省略
B.采用readlineS()可以读入文件的全部内容,返回一个列表
C.文件打开后,可以用write()控制对文件内容的读写位置
D.如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭
29.执行以下代码的结果是?A.300B.400C.500D.600
30.不属于Python数据分析及可视化处理的第三方库的是()。
A.seabornB.randomC.mayavi2D.NumPy
二、判断题(10题)31.Python集合中的元素不允许重复。
A.是B.否
32.已知A和B是两个集合,并且表达式AB的值一定为True。
A.是B.否
33.形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。
A.是B.否
34.Python类不支持多继承。
A.是B.否
35.元组可以作为集合的元素。
A.是B.否
36.在函数内部直接修改形参的值并不影响外部实参的值。
A.是B.否
37.假设x为列表对象,那么x.pop()和x.pop(-1)的作用是一样的。
A.是B.否
38.Python中一切内容都可以称为对象。
A.是B.否
39.OpenGL采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该状态,否则该状态将一直保持。
A.是B.否
40.函数中的return语句一定能够得到执行。
A.是B.否
三、填空题(10题)41.Python3.x语句print(1,2,3,sep=',')的输出结果为________________。
42.表达式3notin[1,2,3]的值为__________。
43.表达式isinstance('Helloworld',str)的值为__________。
44.对文件进行写入操作之后,_______________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。
45.已知列表x=[1,3,2],那么执行语句x.reverse()之后,x的值为____________。
46.已知列表x=[1,3,2],那么表达式[valueforindex,valueinenumerate(x)ifindex==2]的值为_______________。
47.Python3.x语句foriinrange(3):print(i,end=',')的输出结果为_____________________。
48.表达式':'.join('abcdefg'.split('cd'))的值为______________。
49.已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为______、表达式demo(1,2,3,4)的值为_________。
50.列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为
。
四、操作题(3题)51.考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的安排,为居民出行、购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个某年的节假日的放假日期CSV文件(PY301-vacations.CSV),内容示例如下。序号节假日名称开始月日结束月日1元旦123001012春节021502213清明节040504074劳动节050105035端午节06160618以第1行为例,1230表示12月30日,0101表示1月1日。问题1:在“PY301-1.py”文件中修改代码,读入CSV文件中的数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的时间范围。输入和输出本例格式如下。请输入节假日名称(例如,春节):春节春节的假期位于0215~0221之间试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}的假期位于{}-{}之间”,.format())问题2:在“PY301-2.py”文件中修改代码,读入CSV文件的数据,获得用户输入。用户输入一组范围是1?7的整数作为序号,序号间采用空格符分隔,以回车符结束。输出这些序号对应的节假日的名称、时间范围,每个节假日的信息一行。本次输出完成后,重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:15元旦(1)假期是12月30日至01月01日之间端午节假期(5)是06月16日至06月18日之间请输入节假日序号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准...Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())问题3:在问题2的基础上,在“PY301-3.Py”文件中修改代码,对输入的每个序号做合法性处理。如果输入的数字不不合法,请输出“输入节假日编号有误!”,继续输出后续信息,然后重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:51411端午节(5)假期是06月16日至06月18日之间输入节假日编号有误!输入节假日编号有误!请输入节假日编号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())ifflag==False:print("输入节假日编号有误!”)...
52.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:
1820161043
郑珉镐68668377567361696678
1820161044
沈红伟91708l919680789l8994
从这些学生中选出奖学金候选人,条件是:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301一1.py,完成这一功能。试题程序:
#请在…处使用多行代码替换
##注意:其他已给出代码仅作为提示,可以修改L=[]
#L中的元素是学生原始成绩和总成绩
…#此处可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按学生总成绩从大到小排序
…#此处可多行
问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:
1010112161722
张三
1010112161728
李四
补充考生文件夹下文件PY301—2.py,完成这一功能。
试题程序:'''输入文件:candidate0.txt输出文件:candidate.txt'''
53.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:使用循环输出从1到50之间的奇数。
试题程序:
#请在_____处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
参考答案
1.Arename():给文件重命名;getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;rmdir():删除目录。split():按给出的分隔符分隔字符串,返回的是列表类型。
2.B二维数据由多个一维数据构成,可以看作一维数据的组合形式。本题中该列表中虽然包含两种数据类型,但仍然是一维数据。本题选择B选项。
3.D栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。本题选择D选项。
4.B单分支结构的书写形式如下:if〈条件>:〈语句块>二分支结构的书写形式如下:if<条件>:<语句块1>else:〈语句块2>本题选择B选项。
5.B二维数据由多个一维数据构成,可以看作是一维数据的组合形式。本题中该列表中虽然包含两种数据类型,但仍然是一维数据。
6.Bforiinrange(1,11)是将1,2,3,4,5,6,7,8,9,10依次赋给变量i,用变量sum累加每一次变化的i的值,最终sum=56。本题选择B选项。
7.C元组与列表类似,可存储不同类型的数据;元组是不可改变的,创建后不能再做任何修改操作。本题选择C选项。
8.A在Python中,用于数据分析的第三方库有NumPy、scipy、pandas及matplotlib。Scrapy库是网络爬虫方向的第三方库。本题选择A选项。
9.D__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python就会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self、name、age都是__init__()方法的形参,所以共3个。本题选择D选项。
10.A在Python中,split()方法通过指定分隔符对字符串进行切片,返回分隔后的字符串列表。用Split(',')方法从CSV文件中获得内容时,无法去除换行符。’巴巴多斯\\n白俄罗斯’作为一个列表元素出现,所以Is\n=[‘巴哈马’,’巴林’,孟加拉国巴巴多斯\\n白俄罗斯’,’比利时’,’伯利兹\'],最后输出列表。本题选择A选项。
11.CPython中导入模块中的所有函数用的是星号(*)运算符而不是井号(#)运算符,所以C选项错误。
12.Cwhile属于循环结构。
13.A列表的索引值也可以是负整数,如1[-1]就代表列表1的最后一个元素。本题选择A选项。
14.A列表操作函数有(假设列表名为ls):\nlen(ls):返回列表ls的元素个数(长度)。\nmin(ls):返回列表ls的最小元素。\nmax(ls):返回列表ls的最大元素。\nlist(x):将x转变为列表类型。\n使用min(ls)和max(ls)的前提是列表中各元素类型可以进行比较。如果列表元素不能比较,使用这两个函数将会报错。本题选A选项。
15.Alambda关键字用来定义匿名函数,语法为<函数名>=lambda<参数列表>:<表达式>。本题比较字符串大小,因为aa<bb,所以输出均为aa。本题选择A选项。
16.Ainstall命令用于安装第三方库;show命令是列出某个已经安装的库的详细信息;download命令用于下载第三方库的安装包,但并不安装。get不属于pip工具的命令。本题选择A选项。
17.Astr1[2:]表示对字符串str1进行切片,即从序号为2的字符开始切片直到字符串结尾(字符串最左侧的字符序号为0),其结果为”python@*”;strip(chars)方法是从字符串中去掉其左侧和右侧chars中列出的字符,”python@*”.strip(’@’)表示将字符串左侧和右侧的”@”字符去掉,由于字符串最左侧和最右侧均无”@”字符,故结果为”python@*”。
18.CPyGObject、PyQt(QT开发库)和PyGTK(GTK+库)均是Python开发用户界面的第三方库。而time库是Python提供的处理时间标准库。本题选择C选项。
19.CE-R图转换成关系数据模型则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。本题选择C选项。
20.D文件打开模式有:\nr:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值。\nx:创建写模式,文件不存在则创建,存在则返回异常FileExistsError。\nw:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。\na:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。\n文件打开模式中没有n,故D项错误。
21.C元组与列表类似,可存储不同类型的数据;元组是不可改变的,创建后不能再做任何修改操作。
22.A一个类继承另一个类,那么被继承的这个类被称为超类或者父类。本题选择A选项。
23.Awhile循环条件一直为True,即无限循环,只要“inp//3”条件为真,进入循环,则执行break语句,即可跳出while循环。2//3的值为0,条件为假,不执行break语句,无法结束程序执行。
24.D在Python语言中,retum语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,故程序无输出。本题选择D选项。
25.DPython是一种脚本解释语言,与C/C++和Java有很大的区别,没有main()函数。当运行单个Python文件时,如文件名为a.\npy,则a的属性_name_==’_main_’并不是首先执行main()函数。Py-thon整个程序自顶向下顺序执行。本题选择D选项。
26.BA选项错误,Python的标准库是Python安装时默认自带的库,而第三方库需要下载后安装到Python的安装目录下,不同的第三方库安装及使用方法不同;C、D两项错误,无论是标准库还是第三方库都需要用import语句调用,所以B正确。
27.AB项是定义全局变量的关键字,C项是with…as用来代替传统的try…finally语法,D项的意思是程序什么都不做。
28.B使用Open()打开文件时,省略打开方式会默认以只读方式打开;文件打开后,可以用seek()控制对文件内容的读写位置,write()方法只是向文件写人一个字符串或是字节流;如果没有采用close()关闭文件,有可能会导致数据丢失。Python程序退出时文件一般会自动关闭。本题选择B选项。
29.B
30.B属于Python数据分析及可视化的第三方库的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也称mayavi2)等。random库是Python用于产生各种分布的伪随机数序列的库。本题选择B选项。
31.Y
32.N
33.Y
34.N
35.Y
36.Y
37.Y
38.Y
39.Y
40.N
41.1,2,3
42.False
43.TRUE
44.flush()
45.[2,3,1]
46.[2]
47.0,1,2,
48.'ab:efg'
49.6、10
50.NoneNone
51.Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日名称”)Forlineinis:Ifs==line[1]Print(“{}的假期位于{}-{}之间”.format(line[1],line[2],line[3]))(2)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)WhiletrueForiins:Forlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))S=input(“请输入节假日序号:”).split(“”)(3)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)Whiles!=””:Foriins:Flag=falseForlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))Flag=TureIfflag==falsePrint(“输入节假日编号有误!”)S=input(“请输入节假日序号:”).split(“”)(1)\r\n对文件的读操作需要使用open()函数,模式为”r";将文件读入后,需要把CSV文件的内容转换成二维数据,并将其转换成二维列表对象。首先定义一个列表Is,把读入的每行数据使用strip()函数清除掉换行符,再使用split()函数在元素之间以逗号分隔存储在列表Is中,split()函数返回的是一个列表,因此把CSV文件转换成二维列表对象。使用input()函数获取用户输入,再用for循环遍历二维列表,如果输入的节假日名称在列表中,则输出对应的时间段。(2)\r\n用户可以输入多个节假日的序号,因此可以考虑使用split()方法把输入的序号放在一个列表中,然后使用两个for循环,一个用来遍历二维列表,一个用来遍历输入的序号列表,当输入的序号与二维列表中的一样时,输出结果。因为题目的示例输出在数字月和日期之间加入了汉字,此时分析存入二维列表中的数字,可以知道存入的是字符串,即在CSV文件中初始月日和结束月日都是长度为4的字符串,属于序列类型,因此可以使用索引访问。(3)在问题2的基础上,加上一个标记,如果输入的序号正确,则标记为True;输入错误,标记为False,最后根据标记判断是否输出“输入节假日编号有误!\r\n”。分析题目要求可知,标记是在输入的序号在二维列表中可以查到时变为True,其他情况都为False,所以标记应该放在遍历序号列表的for循环内、遍历二维列表的for循环外。
52.(1)L=[]\r\n
fo=open("score.txt","r")\r\n
fi=open("candidate0.txt","w")\r\n
lines=fo.readlines()\r\n
forlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
sum=0\r\n
foriinrange(1,11):\r\n
sum+=int(student[-i])\r\n
studene.append(str(sum))\r\n
L.append(student):\r\n
L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n输入文件:candidate0.txt\r\n输出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存储候选人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
foriinstudent[-10:]:\r\n
ifint(i)<60:\r\n
break\r\n
else:\r\n
I:append(student[:2])\r\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本题涉及”score.txt”和”candidate0.txt”两个文件。首先要读取”score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生的学号、姓名以及10门课成绩写入到”candidate0.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”score.txt”,用”w”模式创建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行为一个学生的信息,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾出现的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。由于要求出总成绩,因此要使用for遍历每个学生的10门课成绩,将其累加赋值给sum,并将sum追加到student中。最后将student中所有元素追加到列表L中。\r\n
随后,对列表L中的元素进行排序,用到sort()方法,参数”key=lambdax:x[一1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;x表示列表中的一个元素,在这里表示一个列表(即一个学生的信息),x只是临时起的一个名字,也可以使用任意的名字;x[一1]表示以列表中的最后一个元素(即总成绩)排序。参数”reverse=True”表示按降序排序;若该参数缺省或”reverse=False”,表示按升序排序。\r\n
最后,通过for循环在列表L中提取出前10个元素(即前10名的学生信息,但不包含总成绩),用空格分隔每个元素,并添加换行符,写入到文件”candidate0.txt”中,再关闭所有文件。\r\n
(2)本题涉及”candidate0.txt”和”candidate.txt”两个文件。首先要读取”candidate0.txt”文件中的信息,通过程序判断每个学生的所有课程成绩是否都大于等于60,满足条件的将该学生的学号和姓名写入到”candidate.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”candidate0.txt”,用”w”模式创建文件”candidate.txt”,并定义一个列表L来存储学号和姓名(做中转)。\r\n”candidate0.txt”文件中有10行数据,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。然后对列表student使用for循环遍历,用来判断10门课程的成绩是否都大于等于60,满足条件就将列表student中的前两个元素(即学号和姓名)追加到列表L中。\r\n
最后,通过for循环提取列表L中的所有元素,用空格分隔每个元素,并添加换行符,写入到文件”candidate.txt”中,再关闭所有文件。
53.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判断一个数是否为奇数,即判断这个数能否被2整除,可以被整除则为偶数,结束本次循环,使用continue语句;不可以被整除则为奇数,输出该数。while循环不具有自动计数的功能,所以需要定义一个变量,初始值为0,每经过一次循环,变量加1;当变量超过50时,停止循环。江西省吉安市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(30题)1.以下选项中不是Python文件目录操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
2.给定列表Is=[1,2,3,"1",”2",”3”],其元素包含两种数据类型,列表18的数据组织维度是()。
A.二维数据B.—维数据C.多维数据D.高维数据
3.下列叙述中正确的是()。
A.找是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以釆用顺序存储结构,也可以采用链式存储结构
4.下列关于分支结构的描述错误的是()。
A.分支结构包括单分支结构、二分支结构及多分支结构
B.单分支结构的书写形式包括(if-else)
C.多分支结构通常适用于判断一类条件或同一个条件的多个执行路径
D.使用多分支结构时需要注意多个逻辑条件的先后顺序,避免逻辑上的错误
5.给定列表ls=[1,2,3,”1”,”2”,”3”],其元素包含两种数据类型,列表ls的数据组织维度是()。
A.二维数据B.一维数据C.多维数据D.高维数据
6.以下程序的输出结果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
7.关于Python元组类型,描述错误的是()。
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.—个元组可以作为另一个元祖的元素,可以采用多级索引获取信息
8.以下不属于Python数据分析领域第三方库的是()。
A.scrapyB.NumPyC.pandasD.matplotlib
9.以下程序Dog类中的__init__()方法共包含几个形参()。ClassDog(): def__init__(self,name,age) =name self.age=age
A.0个B.1个C.2个D.3个
10.假设city,csv文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹以下代码的输出结果是()。f=open("city,csv”,“r”)Is=f.read().split(",")f.close()print(Is)
A.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯\n白俄罗斯’,’比利时’,’伯利兹]
B.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’白俄罗斯’,’比利时’,’伯利兹]
C.[’巴哈马’,’巴林’,’孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]
D.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’\n’,’白俄罗斯’,’比利时’,’伯利兹’,’]
11.下面关于Python中模块导入的说法错误的是()。
A.Python可以导入一个模块中的特定函数
B.通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数
C.使用#号(#)运算符可以导入模块中的所有函数
D.Python中可以给模块指定别名,通过给模块指定简短的别名,可更轻松调用模块中函数
12.以下保留字不属于分支结构的是()。
A.ifB.elseC.whileD.elif
13.以下关于数据维度的描述,错误的是()。
A.列表的索引值是大于0小于列表长度的整数
B.JSON格式可以表示比二维数据还复杂的高维数据
C.二维数据可以看成多条一维数据的组合形式
D.CSV文件既能保存一维数据,也能保存二维数据
14.列表listV=list(range(10)),以下能够输出列表listV中最小元素的是()。
A.print(min(listV))
B.print(listV.max())
C.print(min(listV()))
D.print(listV.reverse(i)[0])
15.以下程序的输出结果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
16.以下不属于Python的pip工具命令的是()。
A.getB.installC.showD.download
17.设str1=’*@python@*’,语句print(strl[2:].strip(’@’))的执行结果是()。
A.python@*B.lpython*C.*@python@*D.*python*
18.以下不属于Python开发用户界面第三方库的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
19.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段
20.以下关于Python文件打开模式的描述中,错误的是()。
A.只读模式rB.覆盖写模式wC.追加写模式aD.创建写模式n
21.关于Python元组类型,以下选项中描述错误的是()。
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.一个元组可以作为另一个元祖的元素,可以采用多级索引获取信息
22.—个类继承另一个类,那么被继承的这个类被称为()。
A.超类B.子类C.类D.继承类
23.不能使下面代码结束的是()。whileTrue:inp=eval(input(”请输入一个数值:”))ifinp//3:break
A.2B.3C.4D.5
24.以下代码的输出结果是()。t=10.5defabove_zero(t):returnt>0
A.TrueB.FalseC.10.5D.没有输出
25.以下关于Python函数的描述中,错误的是()。
A.Python程序的main()函数可以改为其他名称
B.如果Python程序包含一个函数main(),这个函数与其他函数地位相同
C.Python程序可以不包含main()函数
D.Python程序需要包含一个main()函数且只能包含一个main()函数
26.下面关于Python标准库和第三方库的说法正确的是()。
A.Python的第三方库是随着Python安装时默认自带的库
B.Python的标准库和第三方库的调用方式都一样,都需要用import语句调用
C.Python的第三方库需要用import语句调用,而标准库不需要
D.Python的标准库需要用import语句调用,而第三方库不需要
27.Python中匿名函数的关键字是()。
A.lambdaB.globalC.withD.I)ass
28.以下关于文件的描述中,正确的是()。
A.使用open()打开文件时,必须要用r或w指定打开方式,不能省略
B.采用readlineS()可以读入文件的全部内容,返回一个列表
C.文件打开后,可以用write()控制对文件内容的读写位置
D.如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭
29.执行以下代码的结果是?A.300B.400C.500D.600
30.不属于Python数据分析及可视化处理的第三方库的是()。
A.seabornB.randomC.mayavi2D.NumPy
二、判断题(10题)31.Python集合中的元素不允许重复。
A.是B.否
32.已知A和B是两个集合,并且表达式AB的值一定为True。
A.是B.否
33.形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。
A.是B.否
34.Python类不支持多继承。
A.是B.否
35.元组可以作为集合的元素。
A.是B.否
36.在函数内部直接修改形参的值并不影响外部实参的值。
A.是B.否
37.假设x为列表对象,那么x.pop()和x.pop(-1)的作用是一样的。
A.是B.否
38.Python中一切内容都可以称为对象。
A.是B.否
39.OpenGL采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该状态,否则该状态将一直保持。
A.是B.否
40.函数中的return语句一定能够得到执行。
A.是B.否
三、填空题(10题)41.Python3.x语句print(1,2,3,sep=',')的输出结果为________________。
42.表达式3notin[1,2,3]的值为__________。
43.表达式isinstance('Helloworld',str)的值为__________。
44.对文件进行写入操作之后,_______________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。
45.已知列表x=[1,3,2],那么执行语句x.reverse()之后,x的值为____________。
46.已知列表x=[1,3,2],那么表达式[valueforindex,valueinenumerate(x)ifindex==2]的值为_______________。
47.Python3.x语句foriinrange(3):print(i,end=',')的输出结果为_____________________。
48.表达式':'.join('abcdefg'.split('cd'))的值为______________。
49.已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为______、表达式demo(1,2,3,4)的值为_________。
50.列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为
。
四、操作题(3题)51.考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的安排,为居民出行、购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个某年的节假日的放假日期CSV文件(PY301-vacations.CSV),内容示例如下。序号节假日名称开始月日结束月日1元旦123001012春节021502213清明节040504074劳动节050105035端午节06160618以第1行为例,1230表示12月30日,0101表示1月1日。问题1:在“PY301-1.py”文件中修改代码,读入CSV文件中的数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的时间范围。输入和输出本例格式如下。请输入节假日名称(例如,春节):春节春节的假期位于0215~0221之间试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}的假期位于{}-{}之间”,.format())问题2:在“PY301-2.py”文件中修改代码,读入CSV文件的数据,获得用户输入。用户输入一组范围是1?7的整数作为序号,序号间采用空格符分隔,以回车符结束。输出这些序号对应的节假日的名称、时间范围,每个节假日的信息一行。本次输出完成后,重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:15元旦(1)假期是12月30日至01月01日之间端午节假期(5)是06月16日至06月18日之间请输入节假日序号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准...Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())问题3:在问题2的基础上,在“PY301-3.Py”文件中修改代码,对输入的每个序号做合法性处理。如果输入的数字不不合法,请输出“输入节假日编号有误!”,继续输出后续信息,然后重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:51411端午节(5)假期是06月16日至06月18日之间输入节假日编号有误!输入节假日编号有误!请输入节假日编号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())ifflag==False:print("输入节假日编号有误!”)...
52.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:
1820161043
郑珉镐68668377567361696678
1820161044
沈红伟91708l919680789l8994
从这些学生中选出奖学金候选人,条件是:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301一1.py,完成这一功能。试题程序:
#请在…处使用多行代码替换
##注意:其他已给出代码仅作为提示,可以修改L=[]
#L中的元素是学生原始成绩和总成绩
…#此处可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按学生总成绩从大到小排序
…#此处可多行
问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:
1010112161722
张三
1010112161728
李四
补充考生文件夹下文件PY301—2.py,完成这一功能。
试题程序:'''输入文件:candidate0.txt输出文件:candidate.txt'''
53.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:使用循环输出从1到50之间的奇数。
试题程序:
#请在_____处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
参考答案
1.Arename():给文件重命名;getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;rmdir():删除目录。split():按给出的分隔符分隔字符串,返回的是列表类型。
2.B二维数据由多个一维数据构成,可以看作一维数据的组合形式。本题中该列表中虽然包含两种数据类型,但仍然是一维数据。本题选择B选项。
3.D栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。本题选择D选项。
4.B单分支结构的书写形式如下:if〈条件>:〈语句块>二分支结构的书写形式如下:if<条件>:<语句块1>else:〈语句块2>本题选择B选项。
5.B二维数据由多个一维数据构成,可以看作是一维数据的组合形式。本题中该列表中虽然包含两种数据类型,但仍然是一维数据。
6.Bforiinrange(1,11)是将1,2,3,4,5,6,7,8,9,10依次赋给变量i,用变量sum累加每一次变化的i的值,最终sum=56。本题选择B选项。
7.C元组与列表类似,可存储不同类型的数据;元组是不可改变的,创建后不能再做任何修改操作。本题选择C选项。
8.A在Python中,用于数据分析的第三方库有NumPy、scipy、pandas及matplotlib。Scrapy库是网络爬虫方向的第三方库。本题选择A选项。
9.D__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python就会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self、name、age都是__init__()方法的形参,所以共3个。本题选择D选项。
10.A在Python中,split()方法通过指定分隔符对字符串进行切片,返回分隔后的字符串列表。用Split(',')方法从CSV文件中获得内容时,无法去除换行符。’巴巴多斯\\n白俄罗斯’作为一个列表元素出现,所以Is\n=[‘巴哈马’,’巴林’,孟加拉国巴巴多斯\\n白俄罗斯’,’比利时’,’伯利兹\'],最后输出列表。本题选择A选项。
11.CPython中导入模块中的所有函数用的是星号(*)运算符而不是井号(#)运算符,所以C选项错误。
12.Cwhile属于循环结构。
13.A列表的索引值也可以是负整数,如1[-1]就代表列表1的最后一个元素。本题选择A选项。
14.A列表操作函数有(假设列表名为ls):\nlen(ls):返回列表ls的元素个数(长度)。\nmin(ls):返回列表ls的最小元素。\nmax(ls):返回列表ls的最大元素。\nlist(x):将x转变为列表类型。\n使用min(ls)和max(ls)的前提是列表中各元素类型可以进行比较。如果列表元素不能比较,使用这两个函数将会报错。本题选A选项。
15.Alambda关键字用来定义匿名函数,语法为<函数名>=lambda<参数列表>:<表达式>。本题比较字符串大小,因为aa<bb,所以输出均为aa。本题选择A选项。
16.Ainstall命令用于安装第三方库;show命令是列出某个已经安装的库的详细信息;download命令用于下载第三方库的安装包,但并不安装。get不属于pip工具的命令。本题选择A选项。
17.Astr1[2:]表示对字符串str1进行切片,即从序号为2的字符开始切片直到字符串结尾(字符串最左侧的字符序号为0),其结果为”python@*”;strip(chars)方法是从字符串中去掉其左侧和右侧chars中列出的字符,”python@*”.strip(’@’)表示将字符串左侧和右侧的”@”字符去掉,由于字符串最左侧和最右侧均无”@”字符,故结果为”python@*”。
18.CPyGObject、PyQt(QT开发库)和PyGTK(GTK+库)均是Python开发用户界面的第三方库。而time库是Python提供的处理时间标准库。本题选择C选项。
19.CE-R图转换成关系数据模型则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。本题选择C选项。
20.D文件打开模式有:\nr:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值。\nx:创建写模式,文件不存在则创建,存在则返回异常FileExistsError。\nw:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。\na:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。\n文件打开模式中没有n,故D项错误。
21.C元组与列表类似,可存储不同类型的数据;元组是不可改变的,创建后不能再做任何修改操作。
22.A一个类继承另一个类,那么被继承的这个类被称为超类或者父类。本题选择A选项。
23.Awhile循环条件一直为True,即无限循环,只要“inp//3”条件为真,进入循环,则执行break语句,即可跳出while循环。2//3的值为0,条件为假,不执行break语句,无法结束程序执行。
24.D在Python语言中,retum语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,故程序无输出。本题选择D选项。
25.DPython是一种脚本解释语言,与C/C++和Java有很大的区别,没有main()函数。当运行单个Python文件时,如文件名为a.\npy,则a的属性_name_==’_main_’并不是首先执行main()函数。Py-thon整个程序自顶向下顺序执行。本题选择D选项。
26.BA选项错误,Python的标准库是Python安装时默认自带的库,而第三方库需要下载后安装到Python的安装目录下,不同的第三方库安装及使用方法不同;C、D两项错误,无论是标准库还是第三方库都需要用import语句调用,所以B正确。
27.AB项是定义全局变量的关键字,C项是with…as用来代替传统的try…finally语法,D项的意思是程序什么都不做。
28.B使用Open()打开文件时,省略打开方式会默认以只读方式打开;文件打开后,可以用seek()控制对文件内容的读写位置,write()方法只是向文件写人一个字符串或是字节流;如果没有采用close()关闭文件,有可能会导致数据丢失。Python程序退出时文件一般会自动关闭。本题选择B选项。
29.B
30.B属于Python数据分析及可视化的第三方库的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也称mayavi2)等。random库是Python用于产生各种分布的伪随机数序列的库。本题选择B选项。
31.Y
32.N
33.Y
34.N
35.Y
36.Y
37.Y
38.Y
39.Y
40.N
41.1,2,3
42.False
43.TRUE
44.flush()
45.[2,3,1]
46.[2]
47.0,1,2,
48.'ab:efg'
49.6、10
50.NoneNone
51.Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日名称”)Forlineinis:Ifs==line[1]Print(“{}的假期位于{}-{}之间”.format(line[1],line[2],line[3]))(2)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)WhiletrueForiins:Forlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))S=input(“请输入节假日序号:”).split(“”)(3)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)Whiles!=””:Foriins:Flag=falseForlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))Flag=TureIfflag==falsePrint(“输入节假日编号有误!”)S=input(“请输入节假日序号:”).split(“”)(1)\r\n对文件的读操作需要使用open()函数,模式为”r";将文件读入后,需要把CSV文件的内容转换成二维数据,并将其转换成二维列表对象。首先定义一个列表Is,把读入的每行数据使用strip()函数清除掉换行符,再使用split()函数在元素之间以逗号分隔存储在列表Is中,split()函数返回的是一个列表,因此把CSV文件转换成二维列表对象。使用input()函数获取用户输入,再用for循环遍历二维列表,如果输入的节假日名称在列表中,则输出对应的时间段。(2)\r\n用户可以输入多个节假日的序号,因此可以考虑使用split()方法把输入的序号放在一个列表中,然后使用两个for循环,一个用来遍历二维列表,一个用来遍历输入的序号列表,当输入的序号与二维列表中的一样时,输出结果。因为题目的示例输出在数字月和日期之间加入了汉字,此时分析存入二维列表中的数字,可以知道存入的是字符串,即在CSV文件中初始月日和结束月日都是长度为4的字符串,属于序列类型,因此可以使用索引访问。(3)在问题2的基础上,加上一个标记,如果输入的序号正确,则标记为True;输入错误,标记为False,最后根据标记判断是否输出“输入节假日编号有误!\r\n”。分析题目要求可知,标记是在输入的序号在二维列表中可以查到时变为True,其他情况都为False,所以标记应该放在遍历序号列表的for循环内、遍历二维列表的for循环外。
52.(1)L=[]\r\n
fo=open("score.txt","r")\r\n
fi=open("candidate0.txt","w")\r\n
lines=fo.readlines()\r\n
forlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
sum=0\r\n
foriinrange(1,11):\r\n
sum+=int(student[-i])\r\n
studene.append(str(sum))\r\n
L.append(student):\r\n
L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n输入文件:candidate0.txt\r\n输出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存储候选人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
foriinstudent[-10:]:\r\n
ifint(i)<60:\r\n
break\r\n
else:\r\n
I:append(student[:2])\r\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本题涉及”score.txt”和”candidate0.txt”两个文件。首先要读取”score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生的学号、姓名以及10门课成绩写入到”candidate0.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”score.txt”,用”w”模式创建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行为一个学生的信息,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾出现的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。由于要求出总成绩,因此要使用for遍历每个学生的10门课成绩,将其累加赋值给sum,并将sum追加到student中。最后将student中所有元素追加到列表L中。\r\n
随后,对列表L中的元素进行排序,用到sort()方法,参数”key=lambdax:x[一1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;x表示列表中的一个元素,在这里表示一个列表(即一个学生的信息),x只是临时起的一个名字,也可以使用任意的名字;x[一1]表示以列表中的最后一个元素(即总成绩)排序。参数”reverse=True”表示按降序排序;若该参数缺省或”reverse=False”,表示按升序排序。\r\n
最后,通过for循环在列表L中提取出前10个元素(即前10名的学生信息,但不包含总成绩),用空格分隔每个元素,并添加换行符,写入到文件”candidate0.txt”中,再关闭所有文件。\r\n
(2)本题涉及”candidate0.txt”和”candidate.txt”两个文件。首先要读取”candidate0.txt”文件中的信息,通过程序判断每个学生的所有课程成绩是否都大于等于60,满足条件的将该学生的学号和姓名写入到”candidate.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”candidate0.txt”,用”w”模式创建文件”candidate.txt”,并定义一个列表L来存储学号和姓名(做中转)。\r\n”candidate0.txt”文件中有10行数据,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。然后对列表student使用for循环遍历,用来判断10门课程的成绩是否都大于等于60,满足条件就将列表student中的前两个元素(即学号和姓名)追加到列表L中。\r\n
最后,通过for循环提取列表L中的所有元素,用空格分隔每个元素,并添加换行符,写入到文件”candidate.txt”中,再关闭所有文件。
53.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判断一个数是否为奇数,即判断这个数能否被2整除,可以被整除则为偶数,结束本次循环,使用continue语句;不可以被整除则为奇数,输出该数。while循环不具有自动计数的功能,所以需要定义一个变量,初始值为0,每经过一次循环,变量加1;当变量超过50时,停止循环。江西省吉安市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________
一、单选题(30题)1.以下选项中不是Python文件目录操作方法的是()。
A.split()B.rename()C.getcw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024公司安全生产专项整治行动总结汇报
- 人生课件路遥
- 2024年度研发合同标的及研发内容
- 2024年度电力工程调试与验收合同3篇
- 2024年度知识产权许可合同:专利许可使用协议
- 2024年度墙改梁工程合同争议解决协议2篇
- 2024解除合同的律师函
- 2024广东深圳劳动合同的范文
- 2024年度股权转让及投资协议
- 2024野生艾草收购合同
- 2024-2030年中国风电运维行业发展现状规划分析报告
- 统编版(2024)七年级上册道德与法治第三单元《珍爱我们的生命》测试卷(含答案)
- 2024年秋季学期新苏科版七年级上册数学课件 4.3 用一元一次方程解决问题
- 职业生涯规划大赛公务员
- 产前检查的操作评分标准
- 礼修于心 仪养于行 课件-2023-2024学年高一上学期文明礼仪在心中养成教育主题班会
- 解除终止劳动合同备案登记表
- 实用针灸学-经络养生与康复-暨南大学中国大学mooc课后章节答案期末考试题库2023年
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- 新版入团志愿书入团志愿书
- 2022年2022年高中物理《生活中的圆周运动》说课稿
评论
0/150
提交评论