全国计算机等级考试二级Python真题及解析(11)
一、选择题
1. 以下选项对于import保留字描述错误的是 A import可以用于导入函数库或者库中的函数 B 可以使用from jieba import lcut 引入 jieba库 C使用import jieba as jb,引入函数库jieba,取别名jb D使用import jieba 引入jieba库 正确答案: B
2. 以下选项中不可用作Python标识符的是 A3.14 B姓名 C__Name__ D Pi
正确答案: A
3. Python可以将一条长语句分成多行显示的续行符号是: A\\ B# C; D‘
正确答案: A
4. 关于Python语言的特点,以下选项描述正确的是 A Python语言不支持面向对象 B Python语言是解释型语言 C Python语言是编译型语言 D Python语言是非跨平台语言 正确答案: B
1
5. 关于Python整数类型,以下选项描述正确的是: A 3.14不是整数类型的数值
B type(100)表达式结果可能是 6.运行以下程序,输出结果的是: >>> 5/2 A 3 B 2 C 2.5 D 2.50 正确答案: C 7.17. 运行以下程序,输出的Python数据类型是: >>> type(abs(-3+4j)) A字符串类型 B浮点数类型 C整数类型 D复数类型 正确答案: B 8.下面代码的输出结果是: >>> TempStr = \"Pi=3.141593\" >>> eval(TempStr[3:-1]) A3.14159 B3.141593 C Pi=3.14 D3.1416 正确答案: A 2 9. 以下关于异常处理的描述,错误的选项是: A Python通过try、except等保留字提供异常处理功能 B ZeroDivisionError是一个变量未命名错误 C NameError是一种异常类型 D 异常语句可以与else和finally语句配合使用 正确答案: B 10. for或者while与else搭配使用时,关于执行else语句块描述正确的是 A仅循环非正常结束后执行(以break结束) B仅循环正常结束后执行 C总会执行 D永不执行 正确答案: B 11.以下代码执行的输出结果是: for i in range(1,4) print(chr(21646)*(2*i-1)) A 咎 咎咎咎 咎咎咎咎咎 B 咎 咎咎咎 咎咎咎咎咎 C 咎 咎咎咎 咎咎咎咎咎 D 出错 正确答案: B 3 12. 以下关于TensorFlow库的应用领域的描述,正确的选项是 A机器学习 B数据可视化 C Web开发 D文本分析 正确答案: A 13. 以下不属于Python深度学习第三方库的选项是: A Arcade B TensorFlow C Caffe2 D MXNet 正确答案: A 14. 以下属于Python文本处理第三方库的选项是: A matplotib B openpyxl C wxpython D vispy 正确答案: B 15. random库的seed(a)函数的作用是 A 生成一个[0.0, 1.0)之间的随机小数 B生成一个k比特长度的随机整数 C设置初始化随机数种子a D生成一个随机整数 正确答案: C 16.下面代码的输出结果是 4 for n in range(400,500): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print(n) A 407 B 408 C 153 D 159 正确答案: A 17. 给出下面代码: a = input(\"\").split(\x = 0 while x < len(a): print(a[x],end=\"\") x += 1 代码执行时,从键盘获得Python语言,是,脚本,语言 则代码的输出结果是 A执行代码出错 B Python语言,是,脚本,语言 C Python语言是脚本语言 D 无输出 正确答案: C 18. 关于函数的描述,错误的选项是 A Python使用del保留字定义一个函数 B 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。 C 函数是一段具有特定功能的、可重用的语句组 5 D 使用函数的主要目的是减低编程难度和代码重用 正确答案: A 19.执行以下代码,运行错误的是: def fun(x,y=\"Name\A fun(1,2,3) B fun(1,,3) C fun(1) D fun(1,2) 正确答案: B 20. 执行以下代码,运行结果 def split(s): return s.split(\"a\") s = \"Happy birthday to you!\" print(split(s)) A ['H', 'ppy birthd', 'y to you!'] B \"Happy birthday to you!\" C 运行出错 D ['Happy', 'birthday', 'to', 'you!'] 正确答案: A 21. 以下代码执行的输出结果是: 6 C 200 D 400 正确答案: A 22. 字典 d={'Name': 'Kate', 'No': '1001', 'Age': '20'},表达式len(d)的值为 A 12 B 9 C 6 D 3 正确答案: D 23. 元组变量t=(\"cat\, t[::-1]的结果是 A {'human', 'tiger', 'dog', 'cat'} B ['human', 'tiger', 'dog', 'cat'] C 运行出错 D ('human', 'tiger', 'dog', 'cat') 正确答案: D 24. 关于Python的列表,描述错误的选项是 A Python列表是包含0个或者多个对象引用的有序序列 B Python列表用中括号[]表示 C Python列表是一个可以修改数据项的序列类型 D Python列表的长度不可变的 正确答案: D 25. 以下代码执行的输出结果是: ls = [] def func(a,b): ls.append(b) return a * b s = func(\"Hello!\print(s,ls) A 出错 7 B Hello!Hello! C Hello!Hello! [2] D Hello!Hello! [] 正确答案: C 26. 以下程序的输出结果是: def fun1(): print(\"in fun1()\") fun2() fun1() def fun2(): print(\"in fun2()\") fun1() fun2() A in fun1() in fun2() B in fun1() C 死循环 D 出错 正确答案: D 27. 关于Python文件的‘+’打开模式,以下选项正确的描述是 A追加写模式 B与r/w/a/x一同使用,在原功能基础上增加同时读写功能 C只读模式 D覆盖写模式 正确答案: B 28. 以下关于CSV文件的描述,错误的选项是 A CSV文件可用于不同工具间进行数据交换 B CSV文件格式是一种通用的,相对简单的文件格式,应用于程序之间转移表格数据。 8 C CSV文件通过多种编码表示字符 D CSV文件的每一行是一维数据,可以使用Python中的列表类型表示 正确答案: C 29. 以下关于Python文件对象f的描述,错误的选项是 A f.closed文件关闭属性,当文件关闭时,值为False B f.writable()用于判断文件是否可写 C f.readable()用于判断文件是否可读 D f.seekable()判断文件是否支持随机访问 正确答案: A 30. 关于以下代码的描述,错误的选项是 with open('abc.txt','r+') as f: lines = f.readlines() for item in lines: print(item) A执行代码后,abc.txt文件未关闭,必须通过close()函数关闭 B打印输出abc.txt文件内容 C item是字符串类型 D lines是列表类型 正确答案: A 31.真下列与队列结构有关联的是 A 先到先服务的作业调度 B多重循环的执行 C数组元素的引用 D函数的递归调用 正确答案: A 32. 下列叙述中正确的是 9 A以上说法都不对 B循环队列中的元素个数随队尾指针的变化而动态变化 C循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 D循环队列中的元素个数随队头指针的变化而动态变化 正确答案: C 33. 下列链表中,其逻辑结构属于非线性结构的是 A双向链表 B循环链表 C二叉链表 D带链的栈 正确答案: C 34. 在结构化设计方法中,生成的结构图中,带有箭头的连线表示 A模块之间的调用关系 B程序的组成成分 C数据的流向 D控制程序的执行顺序 正确答案: A 35. 在数据流图中,带有名字的箭头表示 A模块之间的调用关系 B控制程序的执行顺序 C数据的流向 D程序的组成成分 正确答案: C 36. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 A抽象和信息隐蔽 10 B激活机制和控制方法 C内聚性和耦合性 D局部化和封装化 正确答案: C 37. 需求分析阶段的任务是确定 A软件开发费用 B软件开发方法 C软件系统功能 D软件开发工具 正确答案: C 38. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性的阶段是 A数据项管理 B人工管理 C数据库系统 D文件系统 正确答案: C 39. 下列说法中,不属于数据模型所描述的内容的是 A数据约束 B数据结构 C数据操作 D数据查询 正确答案: D 40. 下列有关数据库的描述,正确的是 A数据处理是将信息转化为数据的过程 B数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 11 C关系中的每一列称为元组,一个元组就是一个字段 D如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 正确答案: D 二、操作题 综合应用题 参照代码模板完善代码,实现下述功能。 文件ngchina.html保持了网页源代码,请将该页面中图片的URL提取出来,并输出所有图像的URL。 习题讲解 #P301 #读取HTML文件内容def getHTMLlines(htmlpath): f = open(htmlpath,\"r\ ls = f.readlines() f.close() return ls #用于解析文件并提取图像的URLdef extractImageUrls(htmllist): urls = [] for line in htmllist: if 'img' in line: url = line.split('src=')[-1].split('\"')[1] if 'http' in url: urls.append(url) return urls #将获取的链接输出到屏幕上def showResults(urls): count = 1 for url in urls: print(\"第{:2}个URL:{}\".format(count,url)) count += 1 # 主程序:1 读取文件;2 解析并提取其中的图片链接;3 输出提取结果到屏幕def main(): 12 inputfile = \"ngchina.html\" htmllines = getHTMLlines(inputfile) imageUrls = extractImageUrls(htmllines) showResults(imageUrls) main() 基本操作题(1) 从键盘输入一个整数,在屏幕上显示输出该整数Python语言十六进制、八进制、二进制表示形式。本题支持OJ。 输入输出示例 示例 1 习题讲解 #在_____上填写一行代码#请输入一个十进制数 Tempstr = eval(input())print(\"0x{0:x},0o{0:o},0b{0:b}\".format(Tempstr)) 基本操作题(3) 参照代码模板完善代码,实现下述功能统。 输入字符串,使用中文分词库输出精确模式的中文分词结果。 输入输出示例 示例 1 输入 计算机程序只能解决计算问题,不能解决诸如“”人类生命的意义”这样的非计算问题。 输出 ['计算机程序', '只能', '解决', '计算', '问题', ',', '不能', '解决', '诸如', '“', '”', '人类', '生命', '的', '意义', '”', '这样', '的', '非', '计算', '问题', '。'] 输入 100 输出 0x64,0o144,0b1100100 13 习题讲解 import jieba Tempstr = input() ls = jieba.lcut(Tempstr)print(ls) 基本操作题(3) 参照代码模板完善代码,实现下述功能。 某自然数除它本身之外的所有因子之和等于该数,则该数被称为完数。请输出1000以内的完数。本题支持OJ。 输入输出示例 示例 1 输入 无 输出 说明:每行显示一个完数(本行不需要在代码中输出) * * * 习题讲解 for i in range(2,1001): s = i for j in range(1,i): if i%j == 0: s -= j if s == 0: print(i) 简单应用题(1) 参照编程代码模板完善代码,实现下述功能。 14 使用turtle库绘制类似斯洛克形状图案,效果如下图所 示。 本题暂不支持自动评阅,本地绘制图形正确后,print('ok') 即可得分。 习题讲解 #在_____上填写一行代码import turtledef drawCircle(): turtle.pendown() turtle.circle(20) turtle.penup() turtle.fd(40)def drawRowCircle(n): for j in range(n,1,-1): for i in range(j): drawCircle() turtle.fd(-j*40-20) turtle.right(90) turtle.fd(40) turtle.left(90) turtle.fd(40) drawCircle() drawRowCircle(5) turtle.hideturtle() turtle.done() 简单应用题(2) 参照代码模板完善代码,实现下述功能。 从键盘输入一些字符,逐个把它们写到指定的文件,直到输入一个@为止。 示例1: 15 请输入文件名: out.txt 请输入字符串: Python is open.@ 执行代码后,out.txt文件中内容为 Python is open. 示例2: 请输入文件名: out.txt 请输入字符串: python@123 执行代码后,out.txt文件中内容为 Python 本题暂不支持自动评阅,请检查你输出的文件内容是否符合要求,print ('ok') 即可得分 习题讲解 filename = input(\"请输入文件名:\\n\") fp = open(filename,\"w\") ch = input(\"请输入字符串:\\n\")while ch != '@': if '@' in ch: t = ch.find(\"@\") fp.write(ch[0:t]) break else: fp.write(ch + \" \") ch = input(\"\") fp.close() 16 因篇幅问题不能全部显示,请点此查看更多更全内容