资源描述
书山有路勤为径,学海无涯苦作舟! 2023年计算机二级Python语言程序设计考试全真模拟易错、难点汇编第五期(含答案)(图片大小可自由调整)一.全考点综合测验(共35题)1.【问答题】请分别举例说明,在 Python 中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别?正确答案: 在 Python 中,实参向形参传送数据的方式是“值传递” ,即“拷贝”或“复制”。实参的值传给形参, 是对象间整体赋值, 是一种单向传递方式, 不能由形参传回给实参。 函数体传入的参数, 为函数体外变量引用的副本。 在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。 关键字参数和位置参数的区别: 函数调用时的参数通常采用按 位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。 在函数调用中使用关键字参数,是指通过形式参数的 名称 来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。2.【问答题】Python 语言有哪些运算符?请列表说明它们各自的运算优先级。正确答案: 算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符、成员运算符、身份运算符等3.【单选题】下列有关数据库的描述,正确的是A.数据库是一个关系B.数据库是一个 DBF 文件C. 数据库是一个结构化的数据集合D.数据库是一组文件正确答案:C4.【单选题】以下关于程序设计语言的描述,错误的选项是:A.Python 语言是一种脚本编程语言B.汇编语言是直接操作计算机硬件的编程语言C. 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D.编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序正确答案:C5.【单选题】str =Python 语言程序设计 ,表达式 str.isnumeric() 的结果是:A.TrueB. 1C.0D.False正确答案:D6.【单选题】以下程序的输出结果是: def f(x, y = 0, z = 0): pass f(1, , 3) A.passB.NoneC.notD.出错正确答案:D7.【单选题】以下程序的输出结果是: def test( b = 2, a = 4): global z z += a * b return z z = 10 print(z, test() A.18 NoneB.10 18C.UnboundLocalErrorD.18 18正确答案:B8.【单选题】表达式 type(eval(45) 的结果是:A.B.C.NoneD.正确答案:D9.【单选题】以下表达式,正确定义了一个集合数据对象的是:A.x = 200, flg , 20.3B.x = ( 200, flg , 20.3)C. x = 200, flg , 20.3 D. x = flg : 20.3正确答案:A10.【单选题】表达式 divmod(20,3) 的结果是:A.6, 2B.6C.2D. (6, 2)正确答案:D11.【单选题】函数表达式 all(1,True,True) 的结果是:A.无输出B.FalseC.出错D.True正确答案:D12.【单选题】执行以下程序,输入 qp,输出结果是: k = 0 while True: s = input( 请输入 q 退出: ) if s = q: k += 1 continue else: k += 2 break print(k) A.2B.请输入 q 退出:C. 3D. 1正确答案:A13.【问答题】请简述 Python 中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。正确答案: 类对象与实例对象的区别: 在一个类中, 类对象只有一个, 但实例对象可以有多个。类对象在定义类后便自然存在,而实例对象需要人为创建。 类属性与实例属性的区别: 实例属性是实例对象所特有的。 类对象并不拥有实例属性,所以不能通过类对象来访问实例属性。 实例属性也只能用实例对象来访问,不能用类对象来访问实例属性。 类属性即可用类对象访问, 也可用实例对象访问。请简述 Python 中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。14.【问答题】简述字典和集合的异同。并简述它们各自的用途。正确答案: 字典和集合的数据元素之间没有任何确定的顺序关系,属于无序的数据集合体,因此不能像序列那样通过位置索引来访问数据元素。 作为一种复合数据类型, 字典和集合之间的主要区别在于它们的操作, 字典主要关心其元素的检索、插入和删除,集合主要考虑集合之间的并、交和差操作。15.【问答题】在 Python 中如何实现栈和队列?请举例说明。正确答案: class Stack(object): def _init_(self): self.stack= def isEmpty(self): return self.stack= def push(self,item): self.stack.append(item) def pop(self): if self.isEmpty(): raise IndexError,pop from empty stack return self.stack.pop() def peek(self): return self.stack-1 def size(self): return len(self.stack) class Queue: def _init_(self, head=None): self.storage = head def enqueue(self, new_element): self.storage.append(new_element) def peek(self): return self.storage0 def dequeue(self): return self.storage.pop(0)16.【单选题】下列不属于结构化分析的常用工具的是A.判定树B.数据字典C.数据流图D.PAD 图正确答案:C17.【问答题】请分别举例说明遍历列表、元组、字典和集合中各元素的方法。正确答案: 列表:列表与 for 循环语句配合使用,可实现对列表各个元素的遍历。 for i in list: print (序号: %s 值:%s % (list.index(i) + 1, i) 元组:元组与 for 循环语句配合使用,可实现对元组各个元素的遍历。示例同列表。 字典: 遍历字典的关键字: d.keys():返回一个包含字典所有关键字的列表,所以对字典关键字的遍历转换为对列表的遍历。 遍历字典的值: d.values():返回一个包含字典所有值的列表,所以对字典值的遍历转换为对列表的遍历。 遍历字典的元素: d.items():返回一个包含所有 (关键字 ,值)元组的列表,所以对字典元素的遍历转换为对列表的遍历。 集合:集合与 for 循环语句配合使用,可实现对集合各个元素的遍历。18.【单选题】以下关于循环结构的描述,错误的是:A.遍历循环使用 for in 语句,其中循环结构不能是文件B.使用 range() 函数可以指定 for 循环的次数C.for i in range(5) 表示循环 5 次,i 的值是从 0 到 4D.用字符串做循环结构的时候,循环的次数是字符串的长度正确答案:A19.【单选题】以下关于文件的描述,错误的是:A.二进制文件和文本文件的操作步骤都是 “打开-操作-关闭”B. open() 打开文件之后,文件的内容并没有在内存中C.open() 只能打开一个已经存在的文件D.文件读写之后,要调用 close() 才能确保文件被保存在磁盘中了正确答案:C20.【单选题】运行以下程序, x = eval(input() y = eval(input() print(abs(x+y) 从键盘输入 1+2 与 4j,则输出结果是: A.5B.C.D. 5.0正确答案:D21.【单选题】一些重要的程序语言(如 C 语言和 Pascal 语言)允许过程的递归调用。而 实现递归调用中的存储分配通常用A.栈B. 堆C.链表D.数组正确答案:A22.【单选题】表达式 1001 = 0x3e7 的结果是:A.falseB.FalseC. trueD. True正确答案:B23.【单选题】在 E-R 图中,哪个选项是用来表示联系的图形A.矩形B.椭圆形C.三角形D.菱形正确答案:D24.【单选题】以下对数值运算操作符描述错误的选项是:A.Python 提供了 9 个基本的数值运算操作符B.Python 数值运算操作符也叫做内置操作符C.Python 二元数学操作符都有与之对应的增强赋值操 作符D.Python 数值运算操作符需要引用第三方库 math正确答案:D25.【单选题】为了提高测试的效率,应该A.随机选取测试数据B.在完成编码以后制定软件的测试计划C. 取一切可能的输入数据作为测试数据D. 集中对付那些错误群集的程序正确答案:D26.【单选题】以下不属于 Python 的 pip 工具命令的选项是:A.showB. installC.downloadD. get正确答案:D27.【单选题】执行以下程序,输入 la,输出结果是: la = python try: s = eval(input( 请输入整数: ) ls = s*2 print(ls) except: print(请输入整数 ) A.laB.请输入整数C.pythonpythonD.python正确答案:C28.【单选题】以下程序输出到文件 text.csv 里的结果是: fo = open(text.csv,w) x = 90,87,93 z = for y in x: z.append(str(y) fo.write(,.join(z) fo.close() A.90,87,93B.90,87,93C.90,87,93 D.90,87,93 正确答案:B29.【单选题】运行以下程序: try: num = eval(input(请输入一个列表 :) num.reverse () print(num) except : print(输入的不是列表 ) 从键盘上输入 1,2,3,则输出的结果是: A.1,2,3B.3,2,1C.运算错误D.输入的不是列表正确答案:D30.【单选题】Python 语言中,以下表达式输出结果为 11 的选项是:A.print(1+1)B. print(1+1)C. print(eval(1+1)D.print(eval(1 + 1)正确答案:D31.【单选题】软件开发离不开系统环境资源的支持,其中必要的测试数据属于A.辅助资源B.硬件资源C.通信资源D.支持软件正确答案:A32.【单选题】执行以下程序,输入 ”93python22”,输出结果是: w = input( 请输入数字和字母构成的字符串: ) for x in w: if 0A.python9322 B. pythonC.93python22D. 9322正确答案:C33.【单选题】已知 id(ls1) = 4404896968 ,以下程序的输出结果是: ls1 = 1,2,3,4,5 ls2 = ls1 ls3 = ls1.copy() print(id(ls2),id(ls3) A.4404896968 4404896904B.4404896904 4404896968C.4404896968 4404896968D.4404896904 4404896904正确答案:A34.【问答题】请用 Python 语言编写一个简易的通讯录管理程序。正确答案: mydic= while True: print(=*7, 通讯录管理系统 ,=*7) print(1.增加姓名和手机 ) print(2.删除姓名 ) print(3.修改手机号 ) print(4.查询所有用户 ) print(5.根据姓名查找手机号 ) print(6.退出) print(=*29) a=input(请选择要执行的项目: ) if a=1: name=input(请输入联系人姓名: ) tel=input(请输入手机号: ) if tel.isdigit() and len(tel)=11: mydicname=tel print(当前手机内联系人: ,mydic) else: print(输入有误 ) elif a=2: name=input(请输入要删除的姓名: ) tel=mydic.pop(name) print(已删除: +name+tel) print(当前手机联系人: ,mydic) elif a=3: name=input(请输入要修改的手机号姓名: ) tel=input(请输入新的手机号: ) mydicname=tel print(修改成功! ) print(当前手机内联系人: ,mydic) elif a=4: print(当前手机内联系人: ,mydic) elif a=5: name=input(请输入要查询的联系人姓名: ) print(name,mydicname) print() elif a=6: print(感谢使用通讯录系统 ) break else: print(输入有误 )35.【单选题】以下程序的输出结果是: ss = set(htslbht) sorted(ss) for i in ss: print(i,end = ) A.htslbhtB. hlbstC. tsblhD.hhlstt正确答案:B
展开阅读全文