Python测试题1
单项选择题(每题1分,共40分)
点击选项选择正确答案,每题有且仅有一个正确答案
1.以下关于函数参数的描述,正确的是:
A.定义函数可选参数的时候,不限制可选参数在参数列表中的位置 B.调用函数时,按参数名称传递的参数,要按照定义顺序进行传递 C.函数在定义时可以不指定可选参数的默认值,调用函数的时候再传入参数 C.在一个函数内部定义的变量,到另一个函数中不能引用
2. 以下程序的输出结果是:
def add_Run(L=None): if L is None: L = [] L.append('Run') return L add_Run() add_Run() print(add_Run(['Lying']))
A.['Lying']
B.['Run']
['Run']
['Lying', 'Run']
C.['Lying', 'Run']
D. ['Lying', 'Run', 'Run']
3.以下程序的输出结果是:
L = [] x = 3 def pri_val(x): L.append(x) x = 5 pri_val(x) print('L = {}, x = {}'.format(L, x))
A.L = 3, x = 3
B.L = [3], x = 5
C.L = 3, x = 5
D.L = [3], x = 3
4.关于组合数据类型的描述,正确的选项是:
A.序列类型的元素可以用reverse()方法交换相邻元素的位置
B.Python中最常用的映射类型的典型代表是字典类型
C.列表类型里的元素要求是同一种数据类型
D.元组采用大括号方式表示
5.以下程序可能的输出结果是:
l = [1,2,3,4,5,6,7] print(l[3:2]) print(l[-5:-3])
A.[3, 4]
[3, 4]
B.[3, 4]
[]
C.[]
[3, 4]
D.[]
[]
6. 关于以下程序输出结果的描述,正确的选项是:
l = [1,2,3,4,5,6,7] print(l.pop(0), len(l))
A. 0 6
B. 0 7
C. 1 7
D. 1 6
7.以下程序的输出结果,可能的选项是:
ds = {'av':2,'vr':4,'ls':9,'path':6} print(ds.popitem(), len(ds))
A.('path', 6) 4
B.('path', 6) 3
C.('vr', 2) 3
D.('av', 2) 4
8.执行下述程序的输出结果是:
ds = {'eng':2,'math':6,'comp':9,'PE':4} print(ds.pop(max(ds.keys()), 0))
A.4
B.6
C.math
D.PE
9.关于打开文件函数open(<文件路径名>,<打开模式>)中打开模式的描述,正确的选项是:
A.‘b’表示二进制文件模式打开文件,可以单独作为open函数的参数
B.‘a’表示追加模式打开文件,如果文件不存在,就返回异常
C.’r’表示只读模式打开文件,如果文件不存在,就会返回异常
D.‘w’表示写模式打开文件,如果文件存在,就会在文件尾继续写
10.设a.txt的内容是:
a,b,c,d
以下程序执行结果是:
with open('a.txt','r') as f: print(f.read().split(','))
A. [a, b, c, d]
B. 'a', 'b', 'c', 'd'
C. a, b, c, d
D.['a', 'b', 'c', 'd']
11.在程序之间交换数据,常使用的第三方库是:
A.json
B.PyGame
C.Flask
D.Pandas
12.文件data.csv里的内容如下:
1,三轴机,17,5 2,壳体热套,10,2 3,泵体安装,19,3
关于以下程序在屏幕上输出结果的描述,正确的选择是:
with open('data.csv', 'r') as f: print(f.readlines())
A.输出一行列表,里面包括一个字符串元素
B.输出三行列表,每行列表里面有一个字符串元素
C.输出三行字符串
D.输出一行列表,里面包括三个字符串元素
13.执行以下代码,output.txt文件中的内容是:
aaa =[8, 5, 2, 2] with open('output.txt', 'w') as f: for aa in aaa: f.write(';'.join(str(aa)))
A. 8 5 2 2
B.8;5;2;2
C.8,5,2,2
D.8522
14 可用来获取网页内容的Python第三方库是:
A.SciPy
B.requests
C.OpenCV
D.Matplotlib
15.以下属于Python标准时间库的选项是:
A.datetime
B.time
C.calender
D.logging
16.下述_______不属于数据库设计的内容。
A.数据库物理结构
B.数据库管理系统
C.数据库逻辑结构
D.数据库概念结构
17.以下关于turtle库的描述,错误的是:
A.用import turtle as t 语句之后,用t.circle()函数画图
B.用 import turtle语句之后,用turtle.circle()函数画图
C.用circle()函数只能画圆,不能画一个圆弧
D.turtle.sethead()函数的别名是turtle.seth()
18.将E-R图转换成关系模式时,实体与联系都可以表示成___________.
A.关系
B.键
C.属性
D.域
19.下面和队列结构有关联的是______________.
A.函数的递归调用
B.先到先服务的作业调度
C.数组元素的引用
D.多重循环的执行
20.设数据元素集合为{A,B,C,D,E,F},下列关系为线性结构的是_______________。
A. R={ (D,E),(E,A),(B,C),(A,B),(C,F) }
B. R={ (D,F),(E,C),(B,C),(A,B),(C,F) }
C.R={ (A,B),(C,D),(B,A),(E,F),(F,A) }
D.R={ (D,E),(E,A),(B,C),(F,B),(C,F) }
21.以下关于程序设计语言的描述,正确的选项是:
A.Python语言是一种面向过程,也是面向对象的语言
B.Python语言的生态库都是官方开发的
C.Python语言与平台相关
D.Python语言是网络通用语言
22.以下关于Python程序的基本语法元素,错误的描述是:
A.Python语言只能用4个空格的缩进来实现程序的强制可读性
B.变量标识符是一个字符串,长度是没有限制的
C.变量的命名规则之一是名字的首位不能是数字
D.变量是由用户定义的用来保存和表示数据的一种语法元素
23.关于Python语言的注释语句的描述,正确的是:
A.#注释符可以注释多行
B.以#开头的语句是注释
C.#之后的语句被解释器解释,但不执行
D.开头的语句也表示注释,用法跟#一样
24.关于基本输入输出函数的描述,错误的选项是:
A.eval()函数的参数是“3*4”的时候,返回的值是整数“12”
B.print()函数的参数可以是一个函数,执行结果是显示函数返回的值
C.当用户输入一个整数“6”的时候,input()函数返回的也是整数“6”
D.当print()函数输出多个变量的时候,可以用逗号分隔多个变量名
25.一般情况下, 整数用十进制表示,如果用其他进制表示一个数,错误的描述选项是:
A.0x1010表示一个十六进制数
B.0b1010表示一个二进制数
C.0o1010表示一个八进制数
D.1010b表示一个二进制数
26. 关于Python数据类型的描述,正确的选项是:
A.函数ord(x)是返回字符串x对应的Unicode编码
B.运算符+、-、*、/ 等跟赋值符号 = 相连,形成增强赋值操作符
C.函数lower(x)是将字符串x的首字母小写
D.内置函数divmod(x,y)的运算结果是两个整数:x除y的整数商以及余数
27.关于<模板字符串>.format(<逗号分隔的参数>)中的内容描述,正确的选项是:
A.模板字符串里的格式控制信息语法格式是:{<参数序号>:<格式控制标记>},参数序号是从1开始
B.格式控制信息{2:0>7f}里面的‘f’表示这个位置是一个整数
C.逗号分隔的参数可以是变量,也可以是函数
D.格式控制信息{:*^10}表示这个位置是最大长度为10的整数
28.假设
x = 'ab' xy = 'ab93kdfd’ k = 0
下列代码选项中,使得k的值是0的选项是:
A. if x in xy :
k = 1
B. if xy.count(x) >=1 :
k = 1
C. if xy > x:
k = 1
D. if xy in x:
k = 1
29.以下关于控制结构的描述,错误的是:
A.语句if 1,这种表达式是可以执行的
B.if条件不满足情况下要执行的语句块,放在else语句后面
C.if条件满足情况下要执行的语句块,要放在if语句后面,并缩进
D.分支结构中的判断条件只能是产生True或False的表达式或函数
30.执行以下程序,下面选项描述错误的是
x,y = 1,2 while x < 20: x, y = y, x + y print(x)
A.输出结果包含5和2
B.循环次数大于10次
C.输出结果包含8
D.循环次数小于20次
31.执行下述程序,输出结果的行数是:
ls = [2,0,6] x = 100 try: for i in ls: y = 100 // i print(y) except: print('error')
A.1
B.2
C.3
D.4
32.执行以下程序,输出结果是:
x = 10 x = 10 if x < 10 else 20 print(x)
A.x < 10
B.无显示输出
C.20
D.10
33.以下关于函数的描述,正确的是:
A.函数定义的时候并不执行,可以放在调用它的语句之后定义
B.函数定义的时候,不能没有参数列表
C.调用Python函数的时候,不能指定缺省参数的名称和值
D.函数不需要返回值的时候,也能用return语句做最后一条语句
34.执行以下程序,使得程序继续执行循环的输入选项是:
while True: x = input('please input a integer: ') if len(x): break else: print(x)
A.输入一个整数
B.输入一个字符
C.输入一个字符串
D.输入一个回车
35.下面不属于软件需求分析阶段主要工作的是__________。
A.需求分析
B.需求获取
C.需求变更申请
D.需求评审
36.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是_________。
A.多对一
B.多对多
C.一对多
D.一对一
37.在深度为5的满二叉树中,叶子结点的个数为______。
A.32
B.15
C.31
D.16
38.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为___________。
A.2 B.1 C.3 D.52
39.下面属于黑盒测试方法的是___________。
A.错误推测法(猜错法)
B.基本路径测试
C.条件-分支覆盖
D.条件覆盖
40.软件开发中需求分析的主要任务是___________。
A.定义和描述目标系统“怎么做”
B.定义和描述目标系统“做什么”
C.需求评审
D.给出软件解决方案
基本操作题(每题10分,共40分)
1.从键盘输入两个浮点数,计算以这两个浮点数为边长的长方形的面积,显示在屏幕上,数据长度为10,右对齐,不足部分用 - 补齐,保留2位小数。
#在 _____上补充一行代码 #不要修改其他代码 l,w = eval(input()) print("长方形的面积是:{______(1)___}".format(______(2)___))
2.利用random随机库里的函数,生成一个由四个大小写字母组成的验证码,显示在屏幕上。
#在_____处填写一行代码 #在…处填写多行代码 #不允许修改其他代码 import random as r zmb = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz' r.seed(1) … print(code)
3.示例代码里定义的列表变量score里面是5组同学在一次比赛中的成绩,每组成绩包括三项,分别记为a1,a2,a3,三个字段以逗号分隔,示例如下:
score = [[87,79,90],[99,83,93],[90,75,89],…(略)
计算每组同学比赛成绩的总成绩,计算公式为:total = a1 * 0.6 + a2 * 0.3 + a3 * 0.1。输出示例如下:
the 1 final score is 84 the 2 final score is 93 the 3 final score is 85 …(略)
代码模板:
#在…处填写多行代码 #不允许修改其他代码、 score = [[87,79,90],[99,83,93],[90,75,89],[89,87,94],[95,85,84]] … print('the {} final score is {}'.format(i+1, int(final)))
4.使用turtle库的fd()、seth()、pencolor()、backward()、right()、screensize()等函数,绘制三个彩色的圆,圆的颜色按顺序从颜色列表color中获取;圆的半径从里至外分别是20,50,100。效果如下图所示。
# 在_____处填写一行代码 # 在….处填写多行代码 __(1)___ color = ['red','pink','green'] ra = [20, 50, 100] pi = 3.14159 for i in range(__(2)___): t.pu() t.goto(__(3)___) t.pd() t.pencolor(__(4)___) t.circle(__(5)___) t.done() print('__(1)___','__(2)___ ','__(3)___ ',' __(4)___',' __(5)___')
简单应用题(每题10分,共10分)
1.在代码模板里定义了一个字典,key是员工的姓名,value是由部门和工资构成的列表,用逗号隔开。示例如下:
members = {'张三':['人力部',5500], '李四':['后勤部',4500], …(略)
将姓名和工资显示在屏幕上,示例如下:
张三的工资是:5500,部门是人力部 李四的工资是:4500,部门是后勤部 …(略) 工资最高的部门是:开发部,该部门工资是:8500
代码模板:
#请在____处写一行表达式 #请在…处写多行代码 #可以修改其他代码 members = {'张三':['人力部',5500], '李四':['后勤部',4500], '王三':['市场部',6500], '赵六':['开发部',8500] } sal_dep = {} for key in members: print('{}的工资是:{}, 部门是{}'.format(_________) … print('工资最高的部门是:{},该部门工资是:{}'.format(max_name,max_val))
综合应用题(每题10分,共10分)
1.从data.txt文件读入一篇文章《从清华到MIT》,用jieba库的函数lcut的全模式做分词,统计词汇长度为2的词出现的次数,输出出现次数最多的前10个词汇及其出现次数。
模板代码:(提交请删除该行) #在_____处填写一行代码 #在…处填写多行代码 #不允许修改其他代码 import jieba dk = {} with open('data.txt','r') as f: … dp = list(dk.items()) dp.sort(key= lambda x:int(x[1]), reverse = True)