PB期末综合试题及答案公布_第1页
PB期末综合试题及答案公布_第2页
PB期末综合试题及答案公布_第3页
PB期末综合试题及答案公布_第4页
PB期末综合试题及答案公布_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PB期末综合试题及答案公布考试时间:______分钟总分:______分姓名:______选择题:1.Python的关键字是?A.printB.defC.listD.str2.在Python中,`a=[1,2,3];b=a;b.append(4)`执行后,`a`的值是?A.[1,2,3]B.[1,2,3,4]C.[4]D.报错3.列表`list=[0,1,2,3,4]`,`list[1:3]`的结果是?A.[1,2]B.[1,2,3]C.[2,3]D.[1,3]4.函数定义`deffunc(a,b=2):pass`中,`b`是?A.位置参数B.关键字参数C.可变参数D.异常参数5.打开文件`file.txt`进行读写但不覆盖内容,应使用模式?A.'r'B.'w'C.'r+'D.'w+'6.以下哪个是Python的整数类型?A."123"B.123.0C.123D.True7.异常处理结构中,`try`块后通常跟随?A.`if`B.`except`C.`for`D.`while`8.类`Parent`和`Child`,`Child`继承`Parent`,应使用?A.`classChild(Parent):`B.`classChild:Parent`C.`classChildextendsParent:`D.`classChildinheritsParent:`9.字符串`"hello"`,`upper()`方法的结果是?A."hello"B."HELLO"C."Hello"D.报错10.循环`foriinrange(3):print(i)`的输出是?A.0,1,2B.1,2,3C.0,1,2,3D.3,2,1填空题:1.列表推导式生成0到4的平方列表是:________2.字典`dict={'a':1,'b':2}`,获取所有键值对的方法是:________3.异常处理结构中,`try`块成功执行后执行的是:________4.子类继承父类时,调用父类初始化方法是:________5.文件对象`file`,读取所有行到列表的方法是:________6.定义匿名函数`lambdax,y:x+y`,调用时参数传递方式是:________7.导入模块`math`并使用其`sqrt`函数,语句是:________8.列表`list=[1,2,3]`,添加元素`4`到末尾的方法是:________9.字典`dict={'name':'Alice'}`,获取键`'name'`对应的值是:________10.捕获除零异常的`except`子句是:________简答题:1.简述可变参数(`*args`)与关键字参数(`kwargs`)的区别。2.列表和元组的主要区别是什么?并举例说明应用场景。3.解释`if__name__=="__main__":`的作用,并说明其在模块导入时的行为。4.面向对象编程的三大特性是什么?并简述每个特性的含义。编程题:1.编写一个函数`fibonacci(n)`,计算斐波那契数列的前n项,并返回列表。例如,`fibonacci(5)`返回`[0,1,1,2,3]`。2.编写一个函数`char_frequency(s)`,统计字符串`s`中每个字符的出现频率,返回字典。例如,`char_frequency("hello")`返回`{'h':1,'e':1,'l':2,'o':1}`。3.设计一个学生成绩管理系统,实现以下功能:-添加学生信息(姓名和成绩)-删除学生信息(根据姓名)-修改学生成绩(根据姓名)-查询学生成绩(根据姓名)-将所有学生信息保存到文件`students.txt`,并支持从文件读取数据。试卷答案选择题:1.答案:B解析思路:Python关键字是保留字,不能用作变量名。def是关键字,用于定义函数;print、list、str是内置函数或类型,不是关键字。常见错误是混淆内置函数和关键字。2.答案:B解析思路:列表是可变对象,b=a时,b引用同一对象;b.append(4)直接修改原对象,因此a的值变为[1,2,3,4]。常见错误是认为赋值会创建新对象。3.答案:A解析思路:列表切片list[1:3]从索引1开始(包含),到索引3结束(不包含),因此返回[1,2]。常见错误是误包含索引3或忽略左闭右开规则。4.答案:B解析思路:参数b=2是默认值参数,调用时可通过关键字指定,属于关键字参数。位置参数无默认值,可变参数用*args表示。常见错误是混淆位置参数和关键字参数。5.答案:C解析思路:'r+'模式以读写方式打开文件,不覆盖内容;'r'只读,'w'覆盖写入,'w+'覆盖读写。常见错误是选择'w+'导致数据丢失。6.答案:C解析思路:Python整数类型是int,123是整数;"123"是字符串,123.0是浮点数,True是布尔类型。常见错误是误将字符串或浮点数视为整数。7.答案:B解析思路:异常处理结构中,try块后必须跟随except块捕获异常;if、for、while是控制流语句,不用于异常处理。常见错误是使用if或for替代except。8.答案:A解析思路:Python继承语法是classChild(Parent):,Parent是父类;其他选项语法错误,如extends或inherits不存在。常见错误是使用其他语言的继承语法。9.答案:B解析思路:字符串方法upper()将所有字符转为大写,"hello"变为"HELLO";原字符串不变。常见错误是误认为upper()修改原字符串或返回小写。10.答案:A解析思路:range(3)生成0,1,2,for循环依次打印这些值;输出为0,1,2(逗号分隔)。常见错误是误认为range包含3或输出从1开始。填空题:1.答案:[i2foriinrange(5)]解析思路:列表推导式遍历range(5)(0到4),计算每个元素的平方;range(5)生成0,1,2,3,4,平方后为0,1,4,9,16。常见错误是使用range(4)或忘记平方运算。2.答案:dict.items()解析思路:字典方法items()返回键值对的视图,可遍历获取所有键值对;keys()返回键,values()返回值。常见错误是使用keys()或values()。3.答案:else解析思路:try-except-else结构中,else块在try块无异常时执行;finally块无论是否异常都执行。常见错误是混淆else和finally。4.答案:super().__init__()解析思路:子类调用父类初始化方法需用super(),确保父类属性正确初始化;直接调用父类名需传递self参数。常见错误是漏写super()或参数错误。5.答案:file.readlines()解析思路:文件方法readlines()读取所有行到列表;read()读取整个字符串,readline()读取单行。常见错误是使用read()导致数据类型错误。6.答案:lambdax,y:x+y(参数传递位置参数)解析思路:匿名函数lambdax,y:x+y接受两个位置参数,调用时需按顺序传递值;关键字参数需指定参数名。常见错误是使用关键字参数或参数顺序错误。7.答案:frommathimportsqrt或importmath;math.sqrt解析思路:导入模块有两种方式:直接导入函数(frommathimportsqrt)或导入模块后调用(importmath;math.sqrt)。常见错误是拼写错误或未正确引用。8.答案:list.append(4)解析思路:列表方法append()在末尾添加元素;insert()可在指定位置插入。常见错误是使用insert()或赋值操作。9.答案:dict['name']解析思路:字典通过键获取值,使用dict['name'];get()方法可避免KeyError。常见错误是使用(属性访问)或get()方法。10.答案:exceptZeroDivisionError解析思路:捕获特定异常需指定异常类型,如ZeroDivisionError;裸except捕获所有异常。常见错误是使用裸except或拼写错误。简答题:1.答案:可变参数(*args)用于收集位置参数,形成元组;关键字参数(kwargs)用于收集关键字参数,形成字典。解析思路:*args允许函数接受任意数量的位置参数,存储为元组;kwargs接受任意数量的关键字参数,存储为字典。区别在于参数传递方式:位置参数直接传入,关键字参数需键值对。常见错误是混淆两者存储结构或用途。2.答案:列表可变(修改内容),元组不可变(内容固定);列表适用于动态数据(如学生列表),元组适用于静态数据(如坐标)。解析思路:列表支持增删改操作,元组创建后不可修改;列表用于数据变化场景,元组用于数据不变场景(如字典键)。常见错误是忽略不可变性或应用场景错误。3.答案:作用是防止模块被导入时执行代码,仅当脚本直接运行时执行;导入时跳过,运行时执行。解析思路:__name__是模块属性,直接运行时为"__main__",导入时为模块名;if语句确保代码仅在脚本执行时运行,避免导入副作用。常见错误是误解__name__值或导入行为。4.答案:封装(隐藏实现细节)、继承(复用父类代码)、多态(不同对象调用同名方法)。解析思路:封装通过类隐藏内部实现;继承允许子类继承父类属性和方法;多态指不同类实现同名方法,接口统一。常见错误是概念混淆或举例不足。编程题:1.答案:deffibonacci(n):ifn<=0:return[]fib=[0,1]foriinrange(2,n):fib.append(fib[i-1]+fib[i-2])returnfib[:n]解析思路:函数处理边界情况(n<=0返回空列表);初始化列表[0,1];循环从索引2开始,计算前两项和并追加;返回前n项(防止n>2时多余元素)。常见错误是边界处理错误或循环逻辑错误。2.答案:defchar_frequency(s):freq={}forcharins:freq[char]=freq.get(char,0)+1returnfreq解析思路:初始化空字典;遍历字符串,用get方法获取当前计数(默认0),加1后更新字典;返回频率字典。常见错误是未处理字符计数或字典更新错误。3.答案:classStudentManager:def__init__(self):self.students=[]self.load_data()defadd_student(self,name,score):self.students.append({'name':name,'score':score})defdelete_student(self,name):self.students=[sforsinself.studentsifs['name']!=name]defupdate_score(self,name,new_score):forsinself.students:ifs['name']==name:s['score']=new_scorebreakdefquery_score(self,name):forsinself.students:ifs['name']==name:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论