一、单项选择题(本大题共10小题,每小题2分,共20分)
1、想用一个变量来表示出生年份,下列命名中( )项最可取。B
A. b_y B. birth_year C. birthYear D. birthyear
2、假设有两个变量分别是x和y,其中x=3,y=5,以下选项中,( )不能交换两个变量中的值。A
A.x=y;y=x B.t=x;x=y;y=t C.x=x+y;y=x-y;x=x-y D. x,y=y,x
3、如何解释下面的执行结果? ( )B
A. Python的实现有错误 B. 浮点数无法精确表示
C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False
4、执行下列语句后的显示结果是什么? ( B )
A.D AFTE B. D AFTER C.OD AFT D.OD AFTER
5、列表达式的值为True的是( )。A
A. 3>2>1 B. (3,2)< (‘a’,‘b’) C. 5+4j>2-3j D. ‘abc’ > ‘xyz’
6、表达式1+2*3.14>0的结果类型是( )。D
A. int B. str C. float D. bool
7、由字符串 s = ‘this is a pen’ 获得 ‘This Is A Pen ’ 的方法为是( A)。//将首字母大写
A.s.title() B. s.upper() C. s.isupper() D. s.capitalize()
8、以下不能创建一个字典的语句是( C )。
A.dict4 = dict( ( [1,2],[3,4] ) ) B.dict2 = { 3 : 5 }
C.dict3 = dict( [2 , 5] ,[ 3 , 4 ] ) D. dict1 ={}
9、定义如下的函数,下面哪种函数调用会出错( A )。
def P(a1,a2=2,a3=3):
print(a1,a2,a3)
A. P(a2=10,a3=10) B.P(a3=10,a1=10) C.P(10,a3=10) D.P(10)
10、下列有关构造方法(也称作初始化方法,即类中名为__init__的方法)描述正确的是( C )。
A.所有类都必须自行定义一个构造方法 B. 构造方法必须访问类的非静态成员
C. 构造方法可以初始化类的成员变量 D.构造方法必须有返回值,即必须包含return语句
二、填空题(本大题共10小题,每小题2分,共20分)
11、Python3中,使用input()函数可以获取用户从键盘上输入的数据,不管用户输入的内容是什么,该数据的默认数据类型为str
12、任意长度的Python列表list、元组tuple和字符串str中最后一个元素的下标为len(list) - 1/len(tuple) - 1/len(str) - 1
13、Python语句list(range(1,10,3))执行结果为[1, 4, 7]
14、Python内置函数len()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。
15、表达式 ‘a’.join(‘abc’.partition(‘a’)) 的值为aaabc
16、collection.Counter对象(计数器)用于统计各元素的计数,结果为
17、为了增强程序的可读性,我们在Python程序中经常会书写一种以#开头的代码,这些不参与程序执行的代码被称作注释
18、在IDLE中运行Python程序的时候,如果弹出一个“SyntaxError”的对话框,表示当前的程序包含代码错误。
19、Python语句print(set([1,3,4,3,8,1]))的结果为{8, 1, 3, 4}
20、Python图形用户界面程序一般包括一个顶层窗口,也称tkinter
三、程序阅读题(本大题共5小题,每小题4分,共20分)
21、下列程序的输出结果是 [1, 2, 3]
def fun(list):
list = [4, 5, 6]
return list
b = [1, 2, 3]
fun(b)
print(b)
22、填空完成以下功能,分离n位整数,输出每位数字(不考虑输入错误)注意代码简洁、优雅。
x = input(‘请输入一个3位整数:’)
for i in x:
print(i)
23、下列函数func()的功能为 判断传入字符串是否首尾对称
def func(sentence):
return sentence == sentence[::-1]
print(func(‘deed’))
24、下列程序运行后,字典d中保存的内容为 键值对(字符:字符个数)
import string
import random
x = string.ascii_letters + string.digits + string.punctuation
y = [random.choice(x) for i in range(300)]
z = ‘’.join(y)
dic = dict()
for ch in z:
dic[ch] = dic.get(ch, 0) + 1
25、以下函数func()的功能为 找出出现次数最多的数字
import re
def func(s):
t = re.findall(‘\d+’,s) #正则表达式,返回数字列表,否则返回空
if t:
return max(t,key=len)
print(func(‘666666a77777777bbbb88888888888cccccc9999’))
四、程序设计题(本大题共4小题,每小题10分,共40分)
(注意程序的可读性、是否有注释、功能是否正确、输入输出是否有提示信息)
26、用Python编写程序实现正确去除列表中的重复项,保持列表原有顺序不变。
27、编制一个函数,生成由n个随机整数构成的列表,然后编写测试代码,生成并输出由5个随机整数构成的列表各元素值,输出列表中最大值、最小值、求和。
28、编程实现猜数游戏,系统随机生成一个两位整数,用户从键盘输入一个整数猜测这个数字,允许用户猜测5次,处理用户输入的数字不合法的情况。
29、假设有一篇英文小短文beauty.txt在d盘下,请编写程序统计这篇小短文中每一个英文字母出现的次数。注意要把读入的文本将标点等特殊符号、换行符、空格等替换为空。这一步比较重要,称为数据清洗,一般可使用遍历+string.replace(old,new)来完成,然后再使用字典统计。
30、编写函数实现字符串加密和解密,循环使用指定密钥,采用简单的异或算法。
一、单项选择题(本大题共10小题,每小题2分,共20分)
1、以下变量名合法的是( )。
A.int B. 3a C. 1+2 D. ab_
2、关于Python的变量,下面说法错误的是( )。
A.变量不必事先声明 B.变量无须先创建和赋值可以直接使用
C.变量无须指定类型 D.可以使用del释放变量的内存
3、以下程序运行的结果是( )。
A.False B. 0 C. -1 D. True
4、以下程序的输出结果为: ( )。
print(1,2,3,4,5,sep="#")
A.1,2,3,4,5,# B.1,2,3,4,5,sep="#"
C.语法错误 D.1#2#3#4#5
5、如果希望在列表grades=[100,89,78,90,66,82,77]添加新元素88,以下哪些选项是错误的( )。
A. grades[7]=88 B.grades.extend([88])
C.grades.append(88) D. grades.insert(7,88)
6、以下关于 random 库的描述,正确的是:( )
A.设定相同种子,每次调用随机函数生成的随机数不相同
B.uniform(0,1) 与 uniform(0.0,1.0) 的输出结果不同,前者输出随机整数,后者输出随机小数
C.通过 from random import * 引入 random 随机库的部分函数
D.randint(a,b) 是生成一个 [a,b] 之间的整数
7、关于字符串下列说法错误的是( )。
A.{:.2f}用于格式化输出数值时保留小数点后2位
B.既可以用单引号,也可以用双引号创建字符串
C.字符串的子串查找函数find()只能返回第一个符合子串的位置,否则返回为0
D.在三引号字符串中可以包含换行回车等特殊字符
8、关于元组数据结构,下面描述正确的是( )。
A.所有元素数据类型必须相同 B.元组不支持切片操作
C.插入的新元素放在最后 D.支持 in 运算符
9、以下程序所包含的错误是( )。
r=eval(input(“请输入圆的半径:”))
S=23.14r
print(“半径为{}的圆的面积为{}”.format(r,S))
A. 逻辑错误 B. 该程序没有错误 C. 语法错误 D. 运行时错误
10、下列选项中,描述正确的是( )。
A.父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性和方法
B.子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法
C.子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法
D. 父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法
二、填空题(本大题共10小题,每小题2分,共20分)
11、Python导入模块需要使用______语句
12、正则表达式中的字符可以分为基本字符和____字符
13、已知列表 x = [1, 2, 3],那么执行语句 x.insert(1, 4) 之后,x的值为___________。
14、Python内置函数____________用来返回序列中的最大元素。
15、表达式 ‘abcdefg’.split(‘d’) 的值为__________________。
16、如果希望把一个可迭代对象转换为元组,该使用______________。
17、表达式 min([‘11’, ‘2’, ‘3’]) 的值为_________________。
18、Python标准库random中的___________方法作用是从序列中随机选择1个元素。
19、Python语句a,b=5,6;a,b=b,a;print(a,b)的结果是_________________。
20、如下代码的输出结果是__________。
lst=[1,3,1,5]
print(len(list(set(lst))))
三、程序阅读题(本大题共5小题,每小题4分,共20分)
21、如下程序的运行结果是______________
def f1(x):
print(x)
def f2(x):
print(x)
f1(11)
f2(12,13,14)
22、如下代码的输出结果是__________
def func(a,b):
return ab
s=func(‘hello’,2)
print(s)
23、程序运行后假设随机数x为789,则下列程序输出为 ,功能为 。
import random
x = random.randint(100,999) #随机生成三位整数
y=(x%10)*100+(x//10%10)*10+x//100
print(“原数=”,x,”变换后的数=”,y)
24、下列Python语句的程序运行结果是 。
class Person:
def init(self,id):
self.id = id
mary = Person(10101)
mary.dict[‘age’]= 28
mary.dict[‘gender’] = ‘female’
print(mary.age +len(mary.dict))
25、假设文件data.txt中有若干整数,每行一个整数,编写程序读取所有整数,将其按降序排序后再写入文本文件data_asc.txt中,完成以下程序。
with open(‘data.txt’, ‘r’) as fp:
data = fp.readlines() #读取所有行,存入列表
#列表解析表达式,转换为数字
#降序排序
data = [str(item)+’\n’ for item in data] #将结果转换为字符串
with open(‘data_desc.txt’, ‘w’) as fp: #将结果写入文件
fp.writelines(data)
四、程序设计题(本大题共5小题,每小题8分,共40分)
(用Python语言编程,注意程序的可读性、是否有注释、功能是否正确、输入输出是否有提示信息)
26、编写程序,利用元组作为函数返回值,求序列类型中的最大值、最小值和元素个数,并编写测试代码。
27、编写程序,统计所输入字符串中大写英文字母、小写英文字母,空格、数字和其它字符的个数,并输出。
28、编程实现生成包含500个随机字符的字符串,然后统计打印每个字符的出现次数。
29、编写函数fib(n)实现求Fibonacci(斐波拉契)数列的前n项。并编写测试代码,从键盘输入正整数m,输出前m项(每项宽度占5个字符位置,右对齐),每行输出10个。
30、编写下列函数制作英文学习词典,词典有三个基本功能:添加、查询和退出。程序会根据用户的选择进入相应的功能模块,并显示相应的操作提示。当添加的单词已存在时,显示“该单词已添加到字典库”;当查询的单词不存在时,显示“字典库中未找到这个单词”。用户输入其他选项时,提示“输入有误