Python测试题4
单项选择题
单项选择题
点击选项选择正确答案,每题有且仅有一个正确答案
1. 以下选项中,不属于需求分析阶段的任务是
A. 需求规格说明书评审
B.确定软件系统的性能需求
C.确定软件系统的功能需求
D.制定软件集成测试计划
2. 关于数据流图(DFD)的描述,以下选项中正确的是
A. 结构化方法的需求分析工具
B. 软件详细设计的工具
C. 面向对象需求分析工具
D.软件概要设计的工具
3. 在黑盒测试方法中,设计测试用例的主要根据是
A. 程序内部逻辑
B. 程序流程图
C. 程序数据结构
D. 程序外部功能
4. 一个教师讲授多门课程,一门课程由多个教师讲授。描述了实体教师和课程的联系的选项是
A. 1 : 1联系
B. m : n联系
C. 1 : n联系
D. m : 1联系
5. 数据库设计中,反映用户对数据要求的模式是
A. 内模式
B. 概念模式
C. 设计模式
D. 外模式
6. 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示的阶段是
A. 物理设计阶段
B. 概念设计阶段
C. 需求分析阶段
D. 逻辑设计阶段
7. 以下选项中描述正确的是
A. 只有一个根结点的数据结构不一定是线性结构
B. 双向链表是非线性结构
C. 循环链表是非线性结构
D. 有一个以上根结点的数据结构不一定是非线性结构
8. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数是
A. 4
B. 16
C. 6
D. 10
9. 下图所示的二叉树进行前序遍历的序列是
A. DYBEAFCZX
B. ABCDEFXYZ
C. ABDYECFXZ
D. YDEBFZXCA
10. 以下选项中描述正确的是
A. 算法的时间复杂度与空间复杂度一定相关
B. 数据的逻辑结构与存储结构是一一对应的
C. 算法的时间复杂度是指执行算法所需要的计算工作量
D. 算法的效率只与问题的规模有关,而与数据的存储结构无关
11. Python文件的后缀名是
A. do
B. pdf
C. py
D. pass
12. 下面代码的输出结果是
print( 0.1 + 0.2 == 0.3)
A. False
B. 0
C. –1
D. while
13. 以下选项中,不是Python语言保留字的是
A. except
B. do
C. while
D. pass
14. 下面代码的执行结果
a = 10.99 print(complex(a))
A. 10.99
B. (10.99+0j)
C. 0.99
D. 10.99+j
15. 关于 Python 字符编码,以下选项中描述错误的是
A. print(ord('a')) 输出 97
B. print chr(65) 输出 A
C. Python 字符编码使用 ASCII 编码
D. chr(x) 和 ord(x) 函数用于在单字符和 Unicode 编码值之间进行转换
16. 关于Python循环结构,以下选项中描述错误的是
A. 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
B. break用来结束当前当次语句,但不跳出当前的循环体
C. continue只结束本次循环
D. Python通过for、while等保留字构建循环结构
17. 给出如下代码
import random num = random.randint(1,10) while True: if num >= 9: break else: num = random.randint(1,10)
以下选项中描述错误的是
A. import random代码是可以省略的
B. while True: 创建了一个永远执行的循环
C. 这段代码的功能是程序自动猜数字
D. random.randint(1,10) 生成[1,10]之间的整数
18. 关于time库的描述,以下选项中错误的是
A. time.perf_counter()返回一个固定的时间计数值
B. time.sleep(s)的作用是休眠s秒
C. time库是Python中处理时间的标准库
D. time库提供获取系统时间并格式化输出功能
19. 关于jieba库的描述,以下选项中错误的是
A. jieba.cut(s)是精确模式,返回一个可迭代的数据类型
B. jieba.lcut(s)是精确模式,返回列表类型
C. jieba.add_word(s)是向分词词典里增加新词s
D. jieba是Python中一个重要的标准函数库
20. 对于列表ls的操作,以下选项中描述错误的是
A. ls.copy():生成一个新列表,复制ls的所有元素
B. ls.reverse():列表ls的所有元素反转
C. ls.append(x):在ls最后增加一个元素
D. ls.clear():删除ls的最后一个元素
21. 下面代码的输出结果是
listV = list(range(5)) print(2 in listV)
A. 0
B. -1
C. False
D. True
22. 给出如下代码
import random as ran listV = [] ran.seed(100) for i in range(10): i = ran.randint(100,999) listV.append(i)
以下选项中能输出随机列表元素最大值的是
A. print(max(listV))
B. print(listV.max())
C. print(listV.reverse(i))
D. print(listV.pop(i))
23. 给出如下代码
MonthandFlower={"1月":"梅花","2月":"杏花","3月":"桃花","4月":"牡丹花",\ "5月":"石榴花","6月":"莲花","7月":"玉簪花","8月":"桂花",\ "9月":"菊花","10月":"芙蓉花","11月":"山茶花","12月":"水仙花"} n = input("请输入1—12的月份:") print(n + "月份之代表花:" + MonthandFlower.get(str(n)+"月"))
以下选项中描述正确的是
A. MonthandFlower是一个元组
B. 代码实现了获取一个整数(1—12)来表示月份,输出该月份对应的代表花名
C. MonthandFlower是列表类型变量
D. MonthandFlower是集合类型变量
24. 关于Python文件打开模式的描述,以下选项中描述错误的是
A. 覆盖写模式w
B. 只读模式r
C. 追加写模式a
D. 创建写模式n
25. 执行如下代码:
fname = input("请输入要写入的文件: ") fo = open(fname, "w+") ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有?","牧童遥指杏花村。"] fo.writelines(ls) fo.seek(0) for line in fo: print(line) fo.close()
以下选项中描述错误的是
A. fo.seek(0)这行代码如果省略,也能打印输出文件内容
B. fo.writelines(ls)将元素全为字符串的ls列表写入文件
C. 执行代码时,从键盘输入“清明.txt”,则清明.txt被创建
D. 代码主要功能为向文件写入一个列表类型,并打印输出结果
26. 关于CSV文件的描述,以下选项中错误的是
A. 整个CSV文件是一个二维数据
B. CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据
C. CSV文件通过多种编码表示字符
D. CSV文件的每一行是一维数据,可以使用Python中的列表类型表示
27. 以下选项中,修改turtle画笔颜色的函数是
A. colormode()
B. seth()
C. pencolor()
D. bk()
28. 以下选项中,Python网络爬虫方向的第三方库是
A. scrapy
B. PyQt5
C. openpyxl
D. numpy
29. 以下选项中,Python数据分析方向的第三方库是
A. flask
B. PIL
C. pandas
D. Django
30. 以下选项中,Python机器学习方向的第三方库是
A. scipy
B. requests
C. TensorFlow
D. PyQt5
31. 给出如下代码:
TempStr = "Hello World"
以下选项中可以输出“World”子串的是
A. print(TempStr[–5: –1])
B. print(TempStr[–4: –1])print(TempStr[–4: –1])
C. print(TempStr[–5:])
D. print(TempStr[–5:0])
32. 下面代码的输出结果是
x = 12.34 print(type(x))
A. <class 'int'>
B. <class 'float'>
C. <class 'bool'>
D. <class 'complex'>
33. 下面代码的输出结果是
x=10 y=3 print(x%y,x**y)
A. 1 30
B. 3 30
C. 3 1000
D. 1 1000
34. 执行如下代码
import turtle as t for i in range(1,5): t.fd(50) t.left(90)
在Python Turtle Graphics中,绘制的是
A. 三角形
B. 五角星
C. 正方形
D. 五边形
35. 设一年365天,第1天的能力值为基数记为1.0。当好好学习时能力值相比前一天会提高千分之五。以下选项中,不能获得持续努力1年后的能力值的是
A. 1.005 // 365
B. pow(1.0 + 0.005,365)
C. pow((1.0 +0.005),365)
D. 1.005 ** 365
36. 给出如下代码:
s = list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下住。\ 老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八个把式\ 烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。")
以下选项中能输出字符“八”出现次数的是
A. print(s.index("八"))
B. print(s.index("八"),6)
C. print(s.count("八"))
D. print(s.index("八"),6,len(s))
37. 下面代码的输出结果是
vlist = list(range(5)) print(vlist)
A. 0,1,2,3,4,
B. 0;1;2;3;4;
C. 0 1 2 3 4
D. [0, 1, 2, 3, 4]
38. 以下选项中,不是建立字典的方式是
A. d = {'张三':1, '李四':2}
B. d = {(1,2):1, (3,4):3}
C. d = {1:[1,2], 3:[3,4]}
D. d = {[1,2]:1, [3,4]:3}
39. 如果name = "全国计算机等级考试二级Python",以下选项中输出错误的是
A. >>> print(name[:11])
全国计算机等级考试二级
B. >>> print(name[11:])
Python
C. >>> print(name[0], name[8], name[–1])
全 试
D. >>>print(name[:])
全国计算机等级考试二级Python
40. 下列程序的运行结果是
>>> s = "PYTHON" >>> print("{0:3}".format(s))
A. 'PYT’
B. 'PYTHON’
C. 'PYTHON’
D. 'PYTH’
基本编程题
1.根据输入正整数 n,作为财务数据,输出一个宽度为 20 字符,n 右对齐显示,带千位分隔符的效果,使用减号字符“-”填充。如果输入正整数超过 20 位,则按照真实长度输出。提示代码如下:
n = input() ____①____ #可以多行
输入输出示例:
输入 输出 2190000 -----------2,190,000
2.PyInstaller 库可以对程序打包,给定一个 Python 源程序文件 a.py,图标文件为 a.ico,将其打包为在 Windows 平台上带有上述图标的单一可执行文件,使用什么样的命令?
print 这个命令即可自动评阅
3.以 123 为随机数种子,随机生成 10 个在 1 到 999(含)之间的随机数,以逗号分隔,打印输出,请补充横线处代码。提示代码如下
import random ____①____ for i in range(____②____): print(____③____, end=",")
简单应用题
4.使用 turtle 库的 turtle.right() 函数和 turtle.fd() 函数绘制一个菱形四边形,边长为 200 像素,效果如下图所示。请勿修改已经给出的第一行代码,并完善程序。
提示代码:
import turtle as t
5.补充完善如下代码,使得程序能够计算 a 中各元素与 b 逐项乘积的累加和。
提示代码如下:
a = [[1,2,3], [4,5,6], [7,8,9]] b = [3,6,9] ____①____ for c in a: for j in ____②____: s += c[j]*b[j] print(s)
综合应用题
6.《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运-网络版.txt”和“寻梦-网络版.txt”。
文件下载地址:链接: https://pan.baidu.com/s/1RkSikxYxB16pajU20B1j4g 提取码: p56x
问题1:请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:分隔,将两个文件前 100 个最常用字符分别输出保存到“命运-字符统计.txt”和“寻梦-字符统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计回车字符):
命:90, 运:80, 寻:70, 梦:60 (略)
问题2:请编写程序,对“命运-字符统计.txt”和“寻梦-字符统计.txt”中出现的相同字符打印输出。“相同字符.txt”文件中,字符间使用逗号分隔。