2023年12月16日发(作者:)

web程序设计题库 [《Python程序设计》题库(1)]

《Python程序设计》题库一、填空题1、Python安装扩展库常用的是_______工具。(pip)2、Python标准库math中用来计算平方根的函数是__________。(sqrt)3、Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。(py、pyw)4、Python源代码程序编译后的文件扩展名为_________。(pyc)5、使用pip工具升级科学计算扩展库numpy的完整命令是_________________。(pipinstall--upgradenumpy)6、使用pip工具查看当前已安装的Python扩展库的完整命令是_____________。(piplist)7、在IDLE交互模式中浏览上一条语句的快捷键是__________。(Alt+P)8、使用pip工具查看当前已安装Python扩展库列表的完整命令是_________。(piplist)9、在Python中__________表示空类型。(None)10、列表、元组、字符串是Python的_________(有序?无序)序列。(有序)11、查看变量类型的Python内置函数是________________。(type())12、查看变量内存地址的Python内置函数是_________________。(id())13、以3为实部4为虚部,Python复数的表达形式为

第 1 页 共 41 页

___________或________。(3+4j、3+4J)14、Python运算符中用来计算整商的是_________。(//)15、Python运算符中用来计算集合并集的是_______。(|)16、使用运算符测试集合包含集合A是否为集合B的真子集的表达式可以写作_______。(A1的值为_____________。(32)107、表达式chr(ord('a')^32)的值为___________。('A')108、表达式chr(ord('a')-32)的值为___________。('A')109、表达式abs(3+4j)的值为____________。(5.0)110、表达式callable(int)的值为___________。(True)111、表达式list(str([1,2,3]))==[1,2,3]的值为______________。(False)112、表达式str([1,2,3])的值为__________________。('[1,2,3]')113、表达式str((1,2,3))的值为__________________。('(1,2,3)')114、Python中用于表示逻辑与、逻辑或、逻辑非运算的关键字分别是_________、___________、_________。(and、or、not)115、Python3.x语句foriinrange(3):print(i,end=',')的输出结果为_____________________。(0,1,2,)116、Python3.x语句print(1,2,3,sep=',')的输出结果为________________。(1,2,3)117、对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时________(会?不会?)

第 2 页 共 41 页

执行else中的代码。(会)118、在循环语句中,__________语句的作用是提前结束本层循环。(break)119、在循环语句中,_______语句的作用是提前进入下一次循环。(continue)120、表达式sum(range(1,10,2))的值为____________。(25)121、表达式sum(range(1,10))的值为_____________。(45)122、表达式'%c'%65的值为_________。('A')123、表达式'%s'%65的值为__________。('65')124、表达式'%d,%c'%(65,65)的值为________。('65,A')125、表达式'Thefirst:{1},thesecondis{0}'.format(65,97)的值为______________________________。('Thefirst:97,thesecondis65')126、表达式'{0:#d},{0:#x},{0:#o}'.format(65)的值为_____________。('65,0x41,0o101')127、表达式isinstance('abcdefg',str)的值为____________。(True)128、表达式isinstance('abcdefg',object)的值为_____________。(True)129、表达式isinstance(3,object)的值为_____________。(True)130、表达式'abcabcabc'.rindex('abc')的值为____________。(6)131、表达式':'.join('abcdefg'.split('cd'))的值为______________。('ab:efg')132、表达式'ython.'.rfind('python')的值为

第 3 页 共 41 页

________。(-1)133、表达式'abcabcabc'.count('abc')的值为_____________。(3)134、表达式',banana,pear'.find('p')的值为______________。(1)135、表达式',banana,pear'.find('ppp')的值为________。(-1)136、表达式'abcdefg'.split('d')的值为__________________。(['abc','efg'])137、表达式':'.join('1,2,3,4,5'.split(','))的值为__________________。('1:2:3:4:5')138、表达式','.join('abccc\n\n\nddd'.split())的值为______________。('a,b,ccc,ddd')139、表达式'Helloworld'.upper()的值为___________。('HELLOWORLD')140、表达式'Helloworld'.lower()的值为_____________。('helloworld')141、表达式'Helloworld'.lower().upper()的值为___________。('HELLOWORLD')142、表达式'Helloworld'.swapcase().swapcase()的值为______________。('Helloworld')143、表达式r'c:\windows\'.endswith('.exe')的值为_____________。(True)144、表达式r'c:\windows\'.endswith(('.jpg','.exe'))的值为

第 4 页 共 41 页

_______。(True)145、表达式'C:\\Windows\\'.startswith('C:')的值为_________。(True)146、表达式len('Helloworld!'.ljust(20))的值为_________。(20)147、表达式len('abcdefg'.ljust(3))的值为_________。(7)148、表达式len([iforiinrange(10)])的值为__________。(10)149、表达式len(range(1,10))的值为_____________。(9)150、表达式range(10)[-1]的值为____________。(9)151、表达式range(10,20)[4]的值为__________。(14)152、表达式round(3.4)的值为___________。(3)153、表达式round(3.7)的值为_________。(4)154、表达式'a'+'b'的值为_____________。('ab')155、已知x='123'和y='456',那么表达式x+y的值为______________。('xxxx')156、表达式'a'.join('abc'.partition('a'))的值为________________。('aaabc')157、表达式('\.+','...gamma..delta')的值为_______________________。(['alpha','beta','gamma','delta'])158、已知x='a234b123c',并且re模块已导入,则表达式('\d+',x)的值为_________________。(['a','b','c'])159、表达式''.join('asdssfff'.split('sd'))的值为

第 5 页 共 41 页

____________。('assfff')160、表达式''.join(('[sd]','asdssfff'))的值为_______________。('afff')161、假设re模块已导入,那么表达式l('(\d)\\1+','33abcd112')的值为___________________。(['3','1'])162、语句print(('abc','defg'))输出结果为_____________。(None)163、表达式'Helloworld!'[-4]的值为________________。('r')164、表达式'Helloworld!'[-4:]的值为________________。('rld!')165、表达式''.endswith(('.py','.pyw'))的值为__________。(True)166、已知x=(3),那么表达式x*3的值为__________。(9)167、已知x=(3,),那么表达式x*3的值为_____________。((3,3,3))168、表达式len('abc'.ljust(20))的值为______________。(20)169、代码print(('^[a-zA-Z]+$','abcxxxx'))的输出结果为_________。(None)170、当在字符串前加上小写字母_____或大写字母_____表示原始字符串,不对其中的任何字符进行转义。(r、R)171、在设计正则表达式时,字符_______紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。(?)172、假设正则表达式模块re已导入,那么表达式('\

第 6 页 共 41 页

d+','1','a12345bbbb67c890d0e')的值为_____________________。('a1bbbb1c1d1e')173、假设列表对象x=[1,1,1],那么表达式id(x[0])==id(x[2])的值为_____________。(True)174、已知列表x=list(range(10)),那么执行语句delx[::2]之后,x的值为_________。([1,3,5,7,9])175、已知列表x=[1,2,3,4],那么执行语句delx[1]之后x的值为____________。([1,3,4])176、表达式[1]*2的值为_________________。([1,1])177、表达式[1,2]*2的值为______________。([1,2,1,2])178、已知列表x=[1,2,3],那么执行语句(1,4)只有,x的值为___________。([1,4,2,3])179、已知列表x=[1,2,3],那么执行语句(0,4)只有,x的值为___________。([4,1,2,3])180、已知列表x=[1,2,3],那么执行语句(0)之后,x的值为_________。([2,3])181、已知x=[[1]]*3,那么执行语句x[0][0]=5之后,变量x的值为________________。([[5],[5],[5]])182、表达式list(map(lambdax:x+5,[1,2,3,4,5]))的值为______________________。([6,7,8,9,10])183、表达式{1,2,3,4,5}^{4,5,6,7}的值为_________________________。({1,2,3,6,7})184、表达式5if5>6else(6if3>2else5)的值为_________。(6)185、已知x=[1,2,3],那么执行语句

第 7 页 共 41 页

x[len(x)-1:]=[4,5,6]之后,变量x的值为_________________________________。([1,2,4,5,6])186、表达式len(range(1,10))的值为___________。(9)187、表达式len('中国'.encode('utf-8'))的值为___________。(6)188、表达式len('中国'.encode('gbk'))的值为____________。(4)189、表达式chr(ord('A')+2)的值为__________。('C')190、已知x是一个列表对象,那么执行语句y=x[:]之后表达式id(x)==id(y)的值为___________。(False)191、表达式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值为___________________________________。([1,13,89,237,100])192、Python中定义函数的关键字是_________________。(def)193、在函数内部可以通过关键字________________来定义全局变量。(global)194、如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_________________。(None)195、表达式sum(range(10))的值为________________。(45)196、表达式sum(range(1,10,2))的值为____________。(25)197、表达式'abcab'.replace('a','yy')的值为___________。('yybcyyb')198、已知table=''.maketrans('abcw','xyzc'),那么表达式'Hellowworld'.translate(table)的值

第 8 页 共 41 页

为______________________。('Helloccorld')199、表达式'helloworld,helloweveryone'.replace('hello','hi')的值为________________________。('hiworld,hiweveryone')200、已知字符串x='helloworld',那么执行语句e('hello','hi')之后,x的值为____________。('helloworld')201、正则表达式元字符________用来表示该符号前面的字符或子模式1次或多次出现。(+)202、已知x='abcd',那么表达式','.join(())的值为___________。('a,b,c,d')203、正则表达式元字符________用来表示该符号前面的字符或子模式0次或多次出现。(*)204、表达式'abcab'.strip('ab')的值为__________。('c')205、表达式[str(i)foriinrange(3)]的值为____________。(['0','1','2'])206、表达式''.endswith(('.txt','.doc','.jpg'))的值为___________。(True)207、表达式list(filter(None,[0,1,2,3,0,0]))的值为___________________。([1,2,3])208、表达式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值为_________。([3])209、表达式list(range(50,60,3))的值为_______________________。([50,53,56,59])210、表达式

第 9 页 共 41 页

list(filter(lambdax:x%2==0,range(10)))的值为__________________________。([0,2,4,6,8])211、表达式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值为___________。(['abcd'])212、Python使用_________________关键字来定义类。(class)213、表达式isinstance('abc',str)的值为________________。(True)214、表达式isinstance('abc',int)的值为_______________。(False)215、表达式isinstance(4j,(int,float,complex))的值为_____________。(True)216、表达式isinstance('4',(int,float,complex))的值为_____________。(False)217、表达式type(3)in(int,float,complex)的值为____________。(True)218、表达式type(3.0)in(int,float,complex)的值为____________。(True)219、表达式type(3+4j)in(int,float,complex)的值为____________。(True)220、表达式type('3')in(int,float,complex)的值为____________。(False)221、表达式type(3)==int的值为__________。(True)222、代码print(1,2,3,sep=':')的执行结果为__________________。(1:2:3)223、代码foriinrange(3):print(i,end=',')的执行结果为

第 10 页 共 41 页

_________________。(0,1,2,)224、表达式eval('''__import__('math').sqrt(9)''')的值为______________。(3.0)225、表达式eval('''__import__('math').sqrt(3**2+4**2)''')的值为_________。(5.0)226、表达式eval('3+5')的值为_________________。(8)227、表达式eval('[1,2,3]')的值为__________________。([1,2,3])228、假设math标准库已导入,那么表达式eval('(4)')的值为_________。(2.0)229、已知x为非空列表,那么表达式(x)inx的值为___________。(True)230、表达式'abc10'.isalnum()的值为______________。(True)231、表达式'abc10'.isalpha()的值为________________。(False)232、表达式'abc10'.isdigit()的值为__________________。(False)233、表达式[1,2,3].count(4)的值为_______________。(0)234、Python标准库random中的___________方法作用是从序列中随机选择1个元素。(choice())235、表达式'C:\\windows\\'.endswith('.exe')的值为________。(True)236、Python标准库random中的sample(seq,k)方法作用是从序列中选择________(重复?不重复?)的k个元素。(不重复)237、random模块中_____________方法的作用是将列表中的元素随机乱序。

第 11 页 共 41 页

(shuffle())238、Python关键字elif表示__________和___________两个单词的缩写。(else、if)239、执行代码x,y,z=sorted([1,3,2])之后,变量y的值为______。(2)240、已知x={1:2,2:3},那么表达式(3,4)的值为____。(4)241、已知x={1:2,2:3},那么表达式(2,4)的值为______。(3)242、表达式{1,2,3}|{3,4,5}的值为_____________________。({1,2,3,4,5})243、表达式{1,2,3}|{2,3,4}的值为______________________。({1,2,3,4})244、表达式{1,2,3}&{3,4,5}的值为______________。({3})245、表达式{1,2,3}&{2,3,4}的值为___________。({2,3})246、表达式{1,2,3}-{3,4,5}的值为_________。({1,2})247、表达式{1,2,3}5,range(10)))的值为_________________。([6,7,8,9])387、已知x=list(range(20)),那么语句print(x[100:200])的输出结果为_______________。([])388、已知x=list(range(20)),那么执行语句x[:18]=[]后列表x的值为______________。([18,19])389、已知x=[1,2,3],那么连续执行y=x[:]和(4)这两条语句之后,x的值为____________________。([1,2,3])390、已知x=[1,2,3],那么连续执行y=x和(4)这两条语句之后,x的值为____________________。([1,2,3,4])391、已知x=[1,2,3],

第 12 页 共 41 页

那么连续执行y=[1,2,3]和(4)这两条语句之后,x的值为____________________。([1,2,3])392、已知x=[[]]*3,那么执行语句x[0].append(1)之后,x的值为____________________。([[1],[1],[1]])393、已知x=[[]foriinrange(3)],那么执行语句x[0].append(1)之后,x的值为_________________。([[1],[],[]])394、已知x=([1],[2]),那么执行语句x[0].append(3)后x的值为________________。(([1,3],[2]))395、已知x={1:1,2:2},那么执行语句({2:3,3:3})之后,表达式sorted(())的值为____________________。([(1,1),(2,3),(3,3)])396、已知x={1:1,2:2},那么执行语句x[3]=3之后,表达式sorted(())的值为____________________。([(1,1),(2,2),(3,3)])397、表达式type({})==dict的值为_________________。(True)398、表达式type({})==set的值为_______________。(False)399、已知x=[1,2,3],那么表达式not(set(x*100)-set(x))的值为________________。(True)400、已知x=[1,2,3],那么表达式not(set(x*100)&set(x))的值为________________。(False)401、表达式{'x':1,**{'y':2}}的值为___________________。({'x':1,'y':2})402、表达式{*range(4),4,*(5,6,7)}的值为__________________。

第 13 页 共 41 页

({0,1,2,3,4,5,6,7})403、在Python中,不论类的名字是什么,构造方法的名字都是________________。(__init__)404、如果在设计一个类时实现了__contains__()方法,那么该类的对象会自动支持_____________运算符。(in)405、已知函数定义defdemo(x,y,op):returneval(str(x)+op+str(y)),那么表达式demo(3,5,'+')的值为______________________。(8)406、已知函数定义defdemo(x,y,op):returneval(str(x)+op+str(y)),那么表达式demo(3,5,'*')的值为______________________。(15)407、已知函数定义defdemo(x,y,op):returneval(str(x)+op+str(y)),那么表达式demo(3,5,'-')的值为______________________。(-2)408、字符串编码格式UTF8使用____________________个字节表示一个汉字。(3)409、字符串编码格式GBK使用__________________个字节表示一个汉字。(2)410、已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len('abc你好')的值为_______________。(5)411、已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len('abc你好'.encode())的值为_______________。(9)412、已知字符串编码格式gbk使用2个字节表示一个汉字、1

第 14 页 共 41 页

个字节表示英语字母,那么表达式len('abc你好'.encode('gbk'))的值为_______________。(7)413、已知ord('A')的值为65并且hex(65)的值为'0x41',那么表达式'\x41b'的值为________________。('Ab')414、已知formatter='good{0}'.format,那么表达式list(map(formatter,['morning']))的值为__________________。(['goodmorning'])415、已知x='helloworld.',那么表达式('x')和('x')的值都为_____________。(-1)416、表达式':'.join('helloworld.'.split())的值为___________________。('hello:world.')417、表达式':'.join('abcd'.split(maxsplit=2))的值为_________________。('a:b:cd')418、已知x='helloworld',那么表达式e('l','g')的值为_______________。('heggoworgd')419、假设已成功导入Python标准库string,那么表达式len()的值为_______________。(10)420、表达式'aaaassddf'.strip('af')的值为__________________。('ssdd')421、表达式len('aaaassddf'.strip('afds'))的值为________________。(0)422、表达式len('helloworld'[100:])的值为__________________。(0)423、表达式chr(ord('

第 15 页 共 41 页

a')^32^32)的值为_________________。('a')424、表达式chr(ord('a')^32)的值为_________________。('A')425、已知x='aabcccdddd',那么表达式''.join([vfori,vinenumerate(x[:-1])ifv==x[i+1]])的值为_________________。('accddd')426、已知当前文件夹中有纯英文文本文件,请填空完成功能把文件中的所有内容复制到中,withopen('')assrc,open('',____________)asdst:(())。('w')427、假设正则表达式模块re已正确导入,那么表达式''.join(l('\d+','abcd1234'))的值为_____________________。('1234')428、假设正则表达式模块re已正确导入,那么表达式l('\d+?','abcd1234')的值为_____________________。(['1','2','3','4'])429、假设正则表达式模块re已正确导入,那么表达式('(.\s)\\1+','\\1','aaaaabb')的值为________________________。('abb')430、Python标准库_____________________提供了对SQLite数据库的访问接口。(sqlite3)431、已知f=lambdan:len(bin(n)[bin(n).rfind('1')+1:]),那么表达式f(6)的值为____________________。(1)432、已知

第 16 页 共 41 页

f=lambdan:len(bin(n)[bin(n).rfind('1')+1:]),那么表达式f(7)的值为____________________。(0)433、已知x=[1,2,3,4,5],那么执行语句x[::2]=range(3)之后,x的值为_______________。([0,2,1,4,2])434、已知x=[1,2,3,4,5],那么执行语句x[::2]=map(lambday:y!=5,range(3))之后,x的值为________________。([True,2,True,4,True])435、已知x=[1,2,3,4,5],那么执行语句x[1::2]=sorted(x[1::2],reverse=True)之后,x的值为_________________。([1,4,3,2,5])436、表达式True*3的值为__________。(3)437、表达式False+1的值为__________。(1)二、判断题1、Python是一种跨平台、开源、免费的高级动态编程语言。(对)2、Python3.x完全兼容Python2.x。(错)3、Python3.x和Python2.x唯一的区别就是:print在Python2.x中是输出语句,而在Python3.x中是输出函数。(错)4、在Windows平台上编写的Python程序无法在Unix平台运行。(错)5、不可以在同一台计算机上安装多个Python版本。(错)6、已知x=3,那么赋值语句x='abcedfg'是无法正常执行的。(错)7、继承自类的派生类中不能有普通的成员方法。(错)8、扩展库os中的方法remove()可以删除带有只读属性的文件。(错)9、使用内置函数open()

第 17 页 共 41 页

且以”w”模式打开的文件,文件指针默认指向文件尾。(错)10、使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。(错)11、Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。(错)12、Python采用的是基于值得自动内存管理方式。(对)13、在任何时刻相同的值在内存中都只保留一份(错)14、Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。(对)15、在Python中可以使用if作为变量名。(错)16、在Python3.x中可以使用中文作为变量名。(对)17、Python变量名必须以字母或下划线开头,并且区分字母大小写。(对)18、加法运算符可以用来连接字符串并生成新字符串。(对)19、9999**9999这样的命令在Python中无法运行。(错)20、3+4j不是合法的Python表达式。(错)21、0o12f是合法的八进制数字。(错)22、Python2.x和Python3.x中input()函数的返回值都是字符串。(错)23、pip命令也支持扩展名为.whl的文件直接安装Python扩展库。(对)24、只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。(错)25、在Python中0xad是合法的十六进制数字表示形式。(对)26、3+4j是合法Python数字类型。(对)27、在Python中0oa1是合法的八进制数字表示形式。

第 18 页 共 41 页

(错)28、Python使用缩进来体现代码之间的逻辑关系。(对)29、Python代码的注释只有一种方式,那就是使用#符号。(错)30、调用函数时,在实参前面加一个型号*表示序列解包。(对)31、放在一对三引号之间的任何内容将被认为是注释。(错)32、Python支持使用字典的“键”作为下标来访问字典中的值。(对)33、列表可以作为字典的“键”。(错)34、元组可以作为字典的“键”。(对)35、字典的“键”必须是不可变的。(对)36、尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。(对)37、为了让代码更加紧凑,编写Python程序时应尽量避免加入空格和空行。(错)38、在Python3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算。(错)39、已知x为非空列表,那么表达式sorted(x,reverse=True)==list(reversed(x))的值一定是True。(错)40、已知x为非空列表,那么(reverse=True)和e()的作用是等价的。(错)41、生成器推导式比列表推导式具有更高的效率,推荐使用。(对)42、Python集合中的元素不允许重复。(对)43、Python集合可以包含相同的元素。(错)44、Python字典中的“键”不允许重复。(对)45、Python字典中的“值”不允许重复。(错)46、Python集合中的元素可以是元组。(对)47、

第 19 页 共 41 页

Python集合中的元素可以是列表。(错)48、Python字典中的“键”可以是列表。(错)49、Python字典中的“键”可以是元组。(对)50、Python列表中所有元素必须为相同类型的数据。(错)51、Python列表、元组、字符串都属于有序序列。(对)52、在Python3.x中语句print(*[1,2,3])不能正确执行。(错)53、已知A和B是两个集合,并且表达式AB的值一定为True。(错)54、列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。(对)55、对于列表而言,在尾部追加元素比在中间位置插入元素速度更快一些,尤其是对于包含大量元素的列表。(对)56、假设有非空列表x,那么(3)、x=x+[3]与(0,3)在执行时间上基本没有太大区别。(错)57、使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。(对)58、假设x为列表对象,那么()和(-1)的作用是一样的。(对)59、使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。(对)60、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。(错)61、对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。(对)62、已知列表x=[1,2,3],那么执行语句x=3之后,变量x的地址不变。(错)63、在

第 20 页 共 41 页

UTF-8编码中一个汉字需要占用3个字节。(对)64、在GBK和CP936编码中一个汉字需要2个字节。(对)65、如果仅仅是用于控制循环次数,那么使用foriinrange(20)和foriinrange(20,40)的作用是等价的。(对)66、使用列表对象的remove()方法可以删除列表中首次出现的指定元素,如果列中不存在要删除的指定元素则抛出异常。(对)67、元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。(对)68、Python字典和集合属于无序序列。(对)69、无法删除集合中指定位置的元素,只能删除特定值的元素。(对)70、元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。(对)71、当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则表示为字典对象添加一个新的“键-值对”。(对)72、假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常。(错)73、只能对列表进行切片操作,不能对元组和字符串进行切片操作。(错)74、只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。(错)75、只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(对)76、字符串属于

第 21 页 共 41 页

Python有序序列,和列表、元组一样都支持双向索引。(对)77、Python字典和集合支持双向索引。(错)78、使用print()函数无法将信息写入文件。(错)79、Python集合不支持使用下标访问其中的元素。(对)80、相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。(对)81、删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。(对)82、已知列表x中包含超过5个以上的元素,那么语句x=x[:5]+x[5:]的作用是将列表x中的元素循环左移5位。(错)83、对于生成器对象x=(3foriinrange(5)),连续两次执行list(x)的结果是一样的。(错)84、在循环中continue语句的作用是跳出当前循环。(错)85、在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算。(对)86、在Python中,任意长的字符串都遵守驻留机制。(错)87、Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(对)88、Python字符串方法replace()对字符串进行原地修改。(错)89、如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。(对)90、对于大量列表的连接,extend()方法比运算符+具有更高的效率。(对)91、表达式{1,3,2}>{1,2,3}的值为True。(错)92、列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。(对)93、正则表达式模块re的

第 22 页 共 41 页

match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None。(对)94、函数是代码复用的一种方式。(对)95、定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。(对)96、编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码。(对)97、一个函数如果带有默认值参数,那么必须所有参数都设置默认值。(错)98、定义Python函数时必须指定函数返回值类型。(错)99、定义Python函数时,如果函数中没有return语句,则默认返回空值None。(对)100、如果在函数中有语句return3,那么该函数一定会返回整数3。(错)101、函数中必须包含return语句。(错)102、函数中的return语句一定能够得到执行。(错)103、不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。(对)104、全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。(对)105、函数内部定义的局部变量当函数调用结束后被自动删除。(对)106、在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。(对)107、在函数内部没有办法定义全局变量。(错)108、对于数字n,如果表达式

第 23 页 共 41 页

0notin[n%dfordinrange(2,n)]的值为True则说明n是素数。(对)109、表达式‘a’+1的值为’b’。(错)110、在函数内部直接修改形参的值并不影响外部实参的值。(对)111、在函数内部没有任何方法可以影响实参的值。(错)112、调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。(错)113、创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。(对)114、在同一个作用域内,局部变量会隐藏同名的全局变量。(对)115、形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。(对)116、假设已导入random标准库,那么表达式max([t(1,10)foriinrange(10)])的值一定是10。(错)117、Python标准库random的方法randint(m,n)用来生成一个[m,n]区间上的随机整数。(对)118、Python中一切内容都可以称为对象。(对)119、栈和队列的都具有先入后出的特点。(错)120、在一个软件的设计与开发中,所有类名、函数名、变量名都应该遵循统一的风格和规范。(对)121、定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。(对)122、在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。(错)123、Python中没有

第 24 页 共 41 页

严格意义上的私有成员。(对)124、在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了__mul__()方法即可支持该类对象的**运算符。(错)125、在IDLE交互模式下,一个下划线“_”表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果。(对)126、对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。(对)127、运算符/在Python2.x和Python3.x中具有相同的功能。(错)128、运算符“-”可以用于集合的差集运算。(对)129、如果定义类时没有编写析构函数,Python将提供一个默认的析构函数进行必要的资源清理工作。(对)130、已知seq为长度大于10的列表,并且已导入random模块,那么[(seq)foriinrange(10)]和(seq,10)等价。(错)131、在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法。(对)132、Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。(对)133、对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。(对)134、Python标准库os中的方法startfile()可以启动任何已关联应用程序的文件,并自动调用关联的程序。(对)135、程序中异常处理结构在大多数情况下是没必要的。(错)136、在pt...else

第 25 页 共 41 页

结构中,如果try块的语句引发了异常则会执行else块中的代码。(错)137、Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。(对)138、异常处理结构中的finally块中代码仍然有可能出错从而再次引发异常。(对)139、在GUI设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。(对)140、在GUI设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多个选项中只能选择一个,当选择发生变化之后,之前选中的选项自动失效。(对)141、在Python中定义类时实例方法的第一个参数名称必须是self。(错)142、在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。(对)143、Python代码可以内嵌在asp文件中。(对)144、无法配置IIS来支持Python程序的运行。(错)145、Python标准库os中的方法startfile()可以用来打开外部程序或文件,系统会自动关联相应的程序来打开或执行指定的文件。(对)146、在编写应用程序时,应合理控制线程数量,线程并不是越多越好。(对)147、在多线程编程时,当某子线程的daemon属性为False时,主线程结束时会检测该子线程是否结束,如果该子线程尚未运行结束,则主线程会等待它完成后再退出。(对)148、Python只能使用内置数据库SQLite,无法访问MSSQLServer、

第 26 页 共 41 页

ACCESS或Oracle、MySQL等数据库。(错)149、假设os模块已导入,那么列表推导式[r('C:\\Windows')th('.exe')]的作用是列出C:\Windows文件夹中所有扩展名为.exe的文件。(对)150、表达式list('[1,2,3]')的值是[1,2,3]。(错)151、在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。(对)152、定义类时如果实现了__contains__()方法,该类对象即可支持成员测试运算in。(对)153、定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()。(对)154、定义类时实现了__eq__()方法,该类对象即可支持运算符==。(对)155、定义类时实现了__pow__()方法,该类对象即可支持运算符**。(对)156、二进制文件不能使用记事本程序打开。(错)157、使用普通文本编辑器软件也可以正常查看二进制文件的内容。(错)158、二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。(对)159、Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。(对)160、Python标准库os中的方法exists()可以用来测试给定路径的文件是否存在。(对)161、Python标准库os中的方法isdir()可以用来测试给定的路径是否为文件夹。(对)

第 27 页 共 41 页

162、Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表。(对)163、Python扩展库xlwt支持对Excel2003或更低版本的Excel文件进行写操作。(对)164、Python扩展库xlrd支持对Excel2003或更低版本的Excel文件进行读操作。(对)165、带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码。(对)166、异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。(对)167、在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。(对)168、在Python中定义函数时不需要声明函数参数的类型。(对)169、在Python中定义函数时不需要声明函数的返回值类型。(对)170、在函数中没有任何办法可以通过形参来影响实参的值。(错)171、已知x=3,那么执行语句x+=6之后,x的内存地址不变。(错)172、已知x为非空字符串,那么表达式''.join(())==x的值一定为True。(错)173、已知x为非空字符串,那么表达式','.join((','))==x的值一定为True。(对)174、在Python中可以使用for作为变量名。(错)175、在Python中可以使用id作为变量名,尽管不建议这样做。(对)176、Python关键字不可以作为变量名。(对)177、一个数字5也是合法的Python表达式。(对)178、同一个列表对象中的元素类型可以各不相同。(对)179、

第 28 页 共 41 页

同一个列表对象中所有元素必须为相同类型。(错)180、已知x为非空列表,那么执行语句x[0]=3之后,列表对象x的内存地址不变。(对)181、列表可以作为集合的元素。(错)182、集合可以作为列表的元素。(对)183、元组可以作为集合的元素。(对)184、集合可以作为元组的元素。(对)185、字典可以作为集合的元素。(错)186、集合可以作为字典的键。(错)187、集合可以作为字典的值。(对)188、可以使用del删除集合中的部分元素。(错)189、标准库os的rename()方法可以实现文件移动操作。(对)190、标准库os的listdir()方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件。(对)191、当作为条件表达式时,[]与None等价。(对)192、表达式[]==None的值为True。(错)193、当作为条件表达式时,{}与None等价。(对)194、表达式{}==None的值为True。(错)195、表达式pow(3,2)==3**2的值为True。(对)196、当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(对)197、在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。(对)198、在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于

第 29 页 共 41 页

一个字典之中。(对)199、定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。(对)200、在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。(对)201、在调用函数时,必须牢记函数形参顺序才能正确传值。(错)202、调用函数时传递的实参个数必须与函数形参个数相等才行。(错)203、正则表达式对象的match()方法可以在字符串的指定位置开始进行指定模式的匹配。(对)204、使用正则表达式对字符串进行分割时,可以指定多个分隔符,而字符串对象的split()方法无法做到这一点。(对)205、在编写函数时,建议首先对形参进行类型检查和数值范围检查之后再编写功能代码,或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。(对)206、执行语句frommathimportsin之后,可以直接使用sin()函数,例如sin(3)。(对)207、列表对象的pop()方法默认删除并返回最后一个元素,如果列表已空则抛出异常。(对)208、在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。(对)209、在类定义的外部没有任何办法可以访问对象的私有成员。(错)210、可以使用py2exe或pyinstaller等扩展库把Python源程序打包成为exe文件,从而脱离Python环境在Windows平台上运行。(对)211、Python

第 30 页 共 41 页

程序只能在安装了Python环境的计算机上以源代码形式运行。(错)212、不同版本的Python不能安装到同一台计算机上。(错)213、一般来说,Python扩展库没有通用于所有版本Python的,安装时应选择与已安装Python的版本对应的扩展库。

214、表达式{1,2}*2的值为{1,2,1,2}。(错)215、Python变量名区分大小写,所以student和Student不是同一个变量。(对)216、正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。(对)217、正则表达式元字符“\s”用来匹配任意空白字符。(对)218、正则表达式元字符“\d”用来匹配任意数字字符。(对)219、lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式。(对)220、Python类的构造函数是__init__()。(对)221、定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法。(对)222、定义类时,在一个方法前面使用@staticmethod进行休息,则该方法属于静态方法。(对)223、通过对象不能调用类方法和静态方法。(错)224、在Python中可以为自定义类的对象动态增加新成员。(对)225、Python类不支持多继承。(错)226、属性可以像数据成员一样进行访问,但赋值时具有方法的优点,可以对新值进行检查。

第 31 页 共 41 页

(对)227、文件对象是可以迭代的。(对)228、文件对象的tell()方法用来返回文件指针的当前位置。(对)229、以写模式打开的文件无法进读操作。(对)230、假设已成功导入os和sys标准库,那么表达式xxxxe(able)的值为Python安装目录。(对)231、只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。(错)232、Python字典支持双向索引。(错)233、Python集合支持双向索引。(错)234、Python元组支持双向索引。(对)235、假设re模块已成功导入,并且有pattern=e('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表达式('192.168.1.103')的值为None。(错)236、假设random模块已导入,那么表达式(range(10),20)的作用是生成20个不重复的整数。(错)237、假设random模块已导入,那么表达式(range(10),7)的作用是生成7个不重复的整数。(对)238、在Python3.x中reduce()是内置函数。(错)239、以读模式打开文件时,文件指针指向文件开始处。(对)240、以追加模式打开文件时,文件指针指向文件尾。(对)241、已知x=(1,2,3,4),那么执行x[0]=5之后,x的值为(5,2,3,4)。(错)242、已知x=3,那么执行x+=6语句前后x的内存地址是不变的。(错)243、成员测试运算符in作用于集

第 32 页 共 41 页

合时比作用于列表快得多。(对)244、在Python3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回。(对)245、安装Python扩展库时只能使用pip工具在线安装,如果安装不成功就没有别的办法了。(错)246、使用random模块的函数randint(1,100)获取随机数时,有可能会得到100。(对)247、如果只需要math模块中的sin()函数,建议使用frommathimportsin来导入,而不要使用importmath导入整个模块。(对)248、已知列表x=[1,2,3,4],那么表达式(5)的值应为-1。(错)249、列表对象的排序方法sort()只能按元素从小到大排列,不支持别的排序方式。(错)250、g=lambdax:3不是一个合法的赋值表达式。(错)251、内置函数len()返回指定序列的元素个数,适用于列表、元组、字符串、字典、集合以及range、zip等迭代对象。(对)252、已知x和y是两个等长的整数列表,那么表达式sum((i*jfori,jinzip(x,y)))的作用是计算这两个列表所表示的向量的内积。(对)253、已知x和y是两个等长的整数列表,那么表达式[i+jfori,jinzip(x,y)]的作用时计算这两个列表所表示的向量的和。(对)254、表达式int('1'*64,2)与sum(2**iforiinrange(64))的计算结果是一样的,但是前者更快一些。(对)255、已知x=list(range(20)),那么语句delx[::2]可以正常执行。(对)256、已知

第 33 页 共 41 页

x=list(range(20)),那么语句x[::2]=[]可以正常执行。(错)257、已知x=list(range(20)),那么语句print(x[100:200])无法正常执行。(错)258、已知x是个列表对象,那么执行语句y=x之后,对y所做的任何操作都会同样作用到x上。(对)259、已知x是个列表对象,那么执行语句y=x[:]之后,对y所做的任何操作都会同样作用到x上。(错)260、在Python中,变量不直接存储值,而是存储值的引用,也就是值在内存中的地址。(对)261、表达式(i**2foriinrange(100))的结果是个元组。(错)262、在Python中元组的值是不可变的,因此,已知x=([1],[2]),那么语句x[0].append(3)是无法正常执行的。(错)263、包含yield语句的函数一般成为生成器函数,可以用来创建生成器对象。(对)264、在函数中yield语句的作用和return完全一样。(错)265、Python内置的字典dict中元素是按添加的顺序依次进行存储的。(错)266、Python内置的集合set中元素顺序是按元素的哈希值进行存储的,并不是按先后顺序。(对)267、已知x={1:1,2:2},那么语句x[3]=3无法正常执行。(错)268、Python内置字典是无序的,如果需要一个可以记住元素插入顺序的字典,可以使用dDict。(对)269、语句pass仅起到占位符的作用,并不会做任何操作。(对)270、在条件表达式中不

第 34 页 共 41 页

允许使用赋值运算符“=”,会提示语法错误。(对)271、任何包含__call__()方法的类的对象都是可调用的。(对)272、在Python中函数和类都属于可调用对象。(对)273、无法使用lambda表达式定义有名字的函数。(错)274、已知x是一个列表,那么x=x[3:]+x[:3]可以实现把列表x中的所有元素循环左移3位。(对)275、已知x和y是两个字符串,那么表达式sum((1fori,jinzip(x,y)ifi==j))可以用来计算两个字符串中对应位置字符相等的个数。(对)276、函数和对象方法是一样的,内部实现和外部调用都没有任何区别。(错)277、在设计派生类时,基类的私有成员默认是不会继承的。(对)278、如果在设计一个类时实现类__len__()方法,那么该类的对象会自动支持Python内置函数len()。(对)279、Python3.x中字符串对象的encode()方法默认使用utf8作为编码方式。(对)280、已知x='hellowworld.'.encode(),那么表达式('gbk')的值为'hellowworld.'。(对)281、已知x='Python是一种非常好的编程语言'.encode(),那么表达式('gbk')的值为'Python是一种非常好的编程语言'。(错)282、正则表达式'^http'只能匹配所有以'http'开头的字符串。(对)283、正则表达式'^\d{18}|\d{15}$'只能检查给定字符串是否为18位或15位数字字符,并不能保证一定是合法的身份证号。(对)284、正则表达式'

第 35 页 共 41 页

[^abc]'可以一个匹配任意除'a'、'b'、'c'之外的字符。(对)285、正则表达式'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'。(对)286、文本文件是可以迭代的,可以使用forlineinfp类似的语句遍历文件对象fp中的每一行。(对)287、Python的主程序文件属于二进制文件。(对)288、使用记事本程序也可以打开二进制文件,只不过无法正确识别其中的内容。(对)289、对字符串信息进行编码以后,必须使用同样的或者兼容的编码格式进行解码才能还原本来的信息。(对)290、已知当前文件夹中有一个文件具有只读属性,假设标准库os已正确导入,那么可以通过语句('',0o777)来删除该文件的只读属性。(对)291、Python标准库os的函数remove()不能删除具有只读属性的文件。(对)292、由于异常处理结构pt...中finally里的语句块总是被执行的,所以把关闭文件的代码放到finally块里肯定是万无一失,一定能保证文件被正确关闭并且不会引发任何异常。(错)三、编程题1、编写程序,在D盘根目录下创建一个文本文件,并向其中写入字符串helloworld。

答:

fp=open(r’D:\’,‘a+’)print(‘helloworld’,file=fp)

第 36 页 共 41 页

()2、写出下面代码的优化版本,提高运行效率。

x=list(range(500))foriteminx:t=5**5print(item+t)答:

x=list(range(500))t=5**5foriteminx:print(item+t)3、编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)答:

importrandomx=[t(0,100)foriinrange(20)]print(x)y=x[::2](reverse=True)x[::2]=yprint(x)4、写出下面代码的执行结果。

defJoin(List,sep=None):return(sepor',').join(List)print(Join(['a','b','c']))print(Join(['a','b','c'],':'))答:

a,b,ca:b:c5、写出下面代码的运行结果。

defSum(a,b=3,c=5):returnsum([a,b,c])print(Sum(a=8,c=2))print(Sum(8))print(Sum(8,2))答:

1316156、写出下面代码的运行结果。

第 37 页 共 41 页

defSum(*p):returnsum(p)print(Sum(3,5,8))print(Sum(8))print(Sum(8,2,10))答:

168207、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

答:

importmathdefIsPrime(v):n=int((v)+1)foriinrange(2,n):ifv%i==0:return'No'else:return'Yes'8、编写函数,模拟Python内置函数sorted()。

答:

defSorted(v):t=v[::]r=[]whilet:tt=min(t)(tt)(tt)returnr9、编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。

答:

importrandomx=[t(0,100)foriinrange(20)]print(x)y=x[0:10]()x[0:10]=yy=x[10:20](reverse=True)x[10:20]=yprint(x)10、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整

第 38 页 共 41 页

除,则为闰年;

如果年份能被4整除但不能被100整除也为闰年。

答:

x=input('Pleaseinputanintegerof4digitsmeaningtheyear:')x=eval(x)ifx%400==0or(x%4==0andnotx%100==0):print('Yes')else:print('No')11、编写程序,实现分段函数计算,如下表所示。

xyx>x=list(range(20))>>>foriinrange(len(x)):delx[i]答:无法正确执行,因为删除列表元素时会影响其他元素在列表中的索引,上面的代码会抛出下标越界的异常。

19、阅读下面的代码,解释其功能。

>>>x=list(range(20))>>>forindex,valueinenumerate(x):ifvalue==3:x[index]=5答:将列表x中值为3的元素修改为5。

20、阅读下面的代码,解释其功能。

>>>x=[range(3*i,3*i+5)foriinrange(2)]>>>x=list(map(list,x))>>>x=list(map(list,zip(*x)))答:首先生成一个包含列表的列表,然后模拟矩阵转置。

21、阅读下面的代码,解释其功能。

>>>importstring>>>x=_letters+

第 39 页 共 41 页

its>>>importrandom>>>print(''.join((x,10)))答:输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。

22、阅读下面的代码,分析其执行结果。

defdemo(*p):returnsum(p)print(demo(1,2,3,4,5))print(demo(1,2,3))答:输出结果为15623、阅读下面的代码,分析其执行结果。

defdemo(a,b,c=3,d=100):returnsum((a,b,c,d))print(demo(1,2,3,4))print(demo(1,2,d=3))答:输出结果为10924、下面的代码输出结果为_____________。(3)defdemo():x=5x=3demo()print(x)25、下面函数的功能为_______________。(将序列循环左移k位,得到新序列并返回)defdemo(lst,k):ifk>>forxinrange(21):foryinrange(34):z=100-x-yifz%3==0and5*x+3*y+z//3==100:print(x,y,z)18112484(2)列表推导式>>>[(x,y,100-x-y)forxinrange(21)foryinrange(34)if(100-x-y)%3==0and5*x+3*y+(100-x-

第 40 页 共 41 页

y)//3==100][(0,25,75),(4,18,78),(8,11,81),(12,4,84)]

第 41 页 共

41