《python 题库集之基础练习》

528 阅读10分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、单项选择题(本大题共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 a
b 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、编写下列函数制作英文学习词典,词典有三个基本功能:添加、查询和退出。程序会根据用户的选择进入相应的功能模块,并显示相应的操作提示。当添加的单词已存在时,显示“该单词已添加到字典库”;当查询的单词不存在时,显示“字典库中未找到这个单词”。用户输入其他选项时,提示“输入有误