由于学校的python是笔试,所以找了份感觉比较好的题库刷了下其中前八章的填空和判断,附上选解。各章链接如下
python程序设计题库完整版
https://blog.csdn.net/lijia111111/article/details/80763095
python程序设计第一章基础知识 题库及选解
https://blog.csdn.net/zimuzi2019/article/details/106963005
python程序设计第二章序列类型 题库及选解https://blog.csdn.net/zimuzi2019/article/details/106962735
python程序设计第三章选择与循环 题库及选解https://blog.csdn.net/zimuzi2019/article/details/106968152
python程序设计第四章字符串 题库及选解https://blog.csdn.net/zimuzi2019/article/details/106967507
python程序设计第五章函数设计与应用 题库及选解https://blog.csdn.net/zimuzi2019/article/details/106968597
python程序设计第六章面向对象程序设计 题库https://blog.csdn.net/zimuzi2019/article/details/106974412
python程序设计第七章文件操作 题库https://blog.csdn.net/zimuzi2019/article/details/106974419
python程序设计第八章异常 题库
https://blog.csdn.net/zimuzi2019/article/details/106974425
*由于学校考试不要求,这里去掉了涉及正则表达式的题目
填空
1、 表达式 ‘abc’ in (‘abcdefg’) 的值为
True
2、 表达式 ‘abc’ in [‘abcdefg’] 的值为() (False)
3、 表达式 ‘\x41’ == ‘A’ 的值为
True
- \x表示十六进制
4、 Python语句’’.join(list(‘hello world!’))执行的结果是
'hello world!'
- str.join(sequence)方法接收一个要连接的元素序列,以指定字符连接序列中元素,返回字符串。具体用法见https://www.runoob.com/python/att-string-join.html
5、 转义字符r’\n’的含义是
回车换行
- r"str"的作用是去除转义字符
6、 已知列表对象x = [‘11’, ‘2’, ‘3’],则表达式 max(x) 的值为
'3'
- 字符串按位比较,两个字符串第一位字符的ascii码谁大字符串就大,不再比较后面的;第一个字符相同就比第二个字符
7、 表达式 min([‘11’, ‘2’, ‘3’]) 的值为() (‘11’)
8、 已知列表对象x = [‘11’, ‘2’, ‘3’],则表达式max(x, key=len) 的值为
'11'
9、 已知 path = r’c:\test.html’,那么表达式 path[:-4]+‘htm’ 的值为
'c:\\test.htm'
10、 表达式 list(str([1,2,3])) == [1,2,3] 的值为() (False)
11、 表达式 str([1, 2, 3]) 的值为
'[1, 2, 3]'
12、 表达式 str((1, 2, 3)) 的值为() (’(1, 2, 3)’)
'(1, 2, 3)'
13、 表达式 sum(range(1, 10, 2)) 的值为() (25)
14、 表达式 sum(range(1, 10)) 的值为() (45)
15、 表达式 ‘%c’%65 的值为
'A'
- %c指的是字符及其ASCII码,输出ASCII码65对应字符
16、 表达式 ‘%s’%65 的值为
'65'
- %s表示格式化字符串
17、 表达式 ‘%d,%c’ % (65, 65) 的值为() (‘65,A’)
18、 表达式 ‘The first:{1}, the second is {0}’.format(65,97) 的值为
'The first:97, the second is 65'
- {1},{0}表示通过位置匹配字符
19、 表达式 ‘{0:#d},{0:#x},{0:#o}’.format(65) 的值
'65,0x41,0o101'
- format中b表示二进制,o表示八进制,x表示十六进制。’#‘导致在输出时在八进制数前面显示’0o’,在十六进制前面显示’0x’
20、 表达式 isinstance(‘abcdefg’, str) 的值为
True
21、 表达式 isinstance(‘abcdefg’, object) 的值为() (True)
22、 表达式 isinstance(3, object) 的值为() (True)
23、 表达式 ‘abcabcabc’.rindex(‘abc’) 的值为
6
- .rindex(str)方法返回子字符串str的首字符在字符串中最后出现的位置,如果没有匹配的字符串会报出异常。
24、 表达式 ‘:’.join(‘abcdefg’.split(‘cd’)) 的值为
'ab:efg'
- str.spilt(str="",num=string.count(str))通过指定分割符str(默认为所有的空字符,包括空格,换行(\n),制表符(\t)等)对字符串进行切片,如果num有指定值则分隔num+1个子字符串(默认为-1,即分隔所有)。返回分割后的字符串列表。具体用法见https://www.runoob.com/python/att-string-split.html
25、 表达式 ‘Hello world. I like Python.’.rfind(‘python’) 的值为________。(-1)
-1
- str.rfind(str,beg=0 end=len(string))返回字符串最后一次出现的位置(从右向左,返回要查找字符串首字符的位置),如果没有匹配项就返回-1。具体用法见https://www.runoob.com/python/att-string-rfind.html
26、 表达式 ‘abcabcabc’.count(‘abc’) 的值为
3
- str.count(sub,start=0,end=len(string))用于统计字符串内某个子字符串出现的次数。具体用法见
https://www.runoob.com/python/att-string-count.html
27、 表达式 ‘apple.peach,banana,pear’.find(‘p’) 的值为
1
28、 表达式 ‘apple.peach,banana,pear’.find(‘ppp’) 的值为
-1
29、 表达式 ‘abcdefg’.split(‘d’) 的值为
['abc', 'efg']
30、 表达式 ‘:’.join(‘1,2,3,4,5’.split(’,’)) 的值为() (‘1:2:3:4:5’)
- 可以通过这种方法一次性将字符串中的’,‘转换为’:’
31、 表达式 ‘,’.join('a b ccc\n\n\nddd '.split()) 的值为
'a,b,ccc,ddd'
32、 表达式 ‘Hello world’.upper() 的值为
'HELLO WORLD'
- str.upper()将字符串中小写字母转换为大写
33、 表达式 ‘Hello world’.lower() 的值为
'hello world'
34、 表达式 ‘Hello world’.lower().upper() 的值为
'HELLO WORLD'
35、 表达式 ‘Hello world’.swapcase().swapcase() 的值为
'Hello world'
- str.swapcase()对字符串str的大写字母转小写,小写字母转大写
36、 表达式 r’c:\windows\notepad.exe’.endswith(’.exe’) 的值为() (‘True’)
37、 表达式 r’c:\windows\notepad.exe’.endswith((’.jpg’, ‘.exe’)) 的值为
True
- str.endswith(suffix[,start[,end]])方法用于判断字符串是否以指定后缀结尾,返回True或者False。具体用法见https://www.runoob.com/python/att-string-endswith.html
38、 表达式 ‘C:\Windows\notepad.exe’.startswith(‘C:’) 的值为
True
39、 表达式 len(‘Hello world!’.ljust(20)) 的值为
20
- str.ljust(width[,fillchar])方法返回原字符串左对齐,并用填充字符(默认为空格)填充至指定长度的新字符串。如果指定的长度小于原字符串长度则返回原字符串。具体用法见https://www.runoob.com/python/att-string-ljust.html
40、 表达式 len(‘abcdefg’.ljust(3)) 的值为
7
41、 表达式 ‘a’ + ‘b’ 的值为
'ab'
42、 已知 x = ‘123’ 和 y = ‘456’,那么表达式 x + y 的值为() (‘123456’)
43、 表达式 ‘a’.join(‘abc’.partition(‘a’)) 的值为
'aaabc'
- str.partition(str)用来根据指定的分割符对字符串进行分割(只分割一次)。返回一个三元元组,第一个为左边的字串,第二个为分割符本身,第三个为分割符右边的子串。具体用法见 https://www.runoob.com/python/att-string-partition.html
46、 表达式 ‘’.join(‘asdssfff’.split(‘sd’)) 的值为() (‘assfff’)
50、 表达式 ‘Hello world!’[-4] 的值为() (‘r’)
51、 表达式 ‘Hello world!’[-4:] 的值为() (‘rld!’)
52、 表达式 ‘test.py’.endswith((’.py’, ‘.pyw’)) 的值为
True
53、 表达式 len(‘abc’.ljust(20)) 的值为() (20)
55、 当在字符串前加上小写字母()或大写字母()表示原始字符串,不对其中的任何字符进行转义。
r,R
58、 表达式 len(‘中国’.encode(‘utf-8’)) 的值为)
6
- str.encode(encoding=‘UTF-8’,errors=‘strict’)方法以encoding指定的编码格式编码字符串。返回编码后字符串。具体用法见https://www.runoob.com/python/att-string-encode.html
- UTF-8编码格式中一个汉字占三个字节
59、 表达式 len(‘中国’.encode(‘gbk’)) 的值为
4
- gbk编码中一个汉字占两个字节
60、 表达式 chr(ord(‘A’)+2) 的值为() (‘C’)
61、 表达式 ‘abcab’.replace(‘a’,‘yy’) 的值为
'yybcyyb'
- str.replace(old,new[,max])方法把字符串中的old字符串替换成new字符串,如果指定第三个参数max则替换不超过 max 次。具体用法见 https://www.runoob.com/python/att-string-replace.html
62、 已知 table = ‘’.maketrans(‘abcw’, ‘xyzc’),那么表达式 ‘Hellow world’.translate(table) 的值为
'Helloc corld'
- str.translate(table[,deletechars])方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。具体用法见 https://www.runoob.com/python/att-string-translate.html
63、 表达式 ‘hello world, hellow every one’.replace(‘hello’, ‘hi’) 的值为() (‘hi world, hiw every one’)
64、 已知字符串 x = ‘hello world’,那么执行语句 x.replace(‘hello’, ‘hi’) 之后,x的值为
'hello world'
- replace方法返回的是新字符串,原字符串不变
66、 已知 x = ‘a b c d’,那么表达式 ‘,’.join(x.split()) 的值为
'a,b,c,d'
68、 表达式 ‘abcab’.strip(‘ab’) 的值为
'c'
- str.strip([chars])方法用于移除字符串头尾指定的字符(默认为空格或者换行符)或字符序列。只能删除头尾字符不能删除中间。返回新字符串。具体用法见 https://www.runoob.com/python/att-string-strip.html
69、 表达式 [str(i) for i in range(3)] 的值为() ([‘0’, ‘1’, ‘2’])
70、 表达式 ‘abc.txt’.endswith((’.txt’, ‘.doc’, ‘.jpg’)) 的值为() (True)
71、 代码 print(1,2,3,sep=’:’) 的执行结果为
1:2:3
72、 代码 for i in range(3):print(i, end=’,’) 的执行结果为
0,1,2,
73、 表达式 eval(’’’__ import __ (‘math’).sqrt(9)’’’) 的值为
3.0
- __ import __和import的区别见 https://blog.csdn.net/u011502243/article/details/83929085
74、 表达式 eval(’’’__ import __ (‘math’).sqrt(3 * * 2+4 * * 2)’’’) 的值为() (5.0)
75、 表达式 eval(‘3+5’) 的值为
8
- eval(expression[,globals[,locals]])用来执行字符串表达式并返回表达式的值。具体用法见 https://www.runoob.com/python/python-func-eval.html
76、 表达式 eval(’[1, 2, 3]’) 的值为
[1, 2, 3]
77、 假设math标准库已导入,那么表达式 eval(‘math.sqrt(4)’) 的值为() (2.0)
78、 已知x为非空列表,那么表达式 random.choice(x) in x 的值为
True
- chioce()方法返回一个列表,元组或字符串的随机项
79、 表达式 ‘abc10’.isalnum() 的值为
True
- str.alnum()方法用于检测字符串是否由字母和数字组成
80、 表达式 ‘abc10’.isalpha() 的值为
False
- str.isalpha()方法用于检测字符串是否只由字母组成
81、 表达式 ‘abc10’.isdigit() 的值为
False
- str.isdight()方法用于检测字符串是否只由数字组成
82、 表达式 ‘C:\windows\notepad.exe’.endswith(’.exe’) 的值为() (True)
83、 表达式 ‘%s’%[1,2,3] 的值为
'[1, 2, 3]'
84、 表达式 ‘aaasdf’.lstrip(‘as’) 的值为
'df'
- str.lstrip([chars])用于截掉字符串左边的空格或指定字符。返回新字符串。具体用法见https://www.runoob.com/python/att-string-lstrip.html
85、 表达式 ‘aaasdf’.lstrip(‘af’) 的值为() (‘sdf’)
86、 表达式 ‘aaasdf’.strip(‘af’) 的值为
'sd'
87、 表达式 ‘aaasdf’.rstrip(‘af’) 的值为
'aaasd'
88、 表达式 len(‘SDIBT’) 的值为() (5)
89、 表达式 ‘Hello world!’.count(‘l’) 的值为
3
90、 已知 x = ‘abcdefg’,则表达式 x[3:] + x[:3] 的值为
'defgabc'
91、 字符串编码格式UTF8使用()个字节表示一个汉字。(3)
92、 字符串编码格式GBK使用()个字节表示一个汉字。 (2)
93、 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len(‘abc你好’)的值为() (5)
94、 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len(‘abc你好’.encode())的值为() (9)
95、 已知字符串编码格式gbk使用2个字节表示一个汉字、1个字节表示英语字母,那么表达式len(‘abc你好’.encode(‘gbk’))的值为() (7)
96、 已知ord(‘A’)的值为65并且hex(65)的值为’0x41’,那么表达式’\x41b’的值为
'Ab'
97、 已知formatter = ‘good {0}’.format,那么表达式list(map(formatter, [‘morning’]))的值为
['good morning']
98、 已知x = ‘hello world.’,那么表达式x.find(‘x’)和x.rfind(‘x’)的值都为
-1
99、 表达式’:’.join(‘hello world.’.split())的值为() (‘hello:world.’)
100、 表达式’:’.join(‘a b c d’.split(maxsplit=2))的值为
'a:b:c d'
101、 已知x = ‘hello world’,那么表达式x.replace(‘l’, ‘g’)的值为() (‘heggo worgd’)
102、 假设已成功导入Python标准库string,那么表达式len(string.digits)的值为_______________。(10)
10
103、 表达式’aaaassddf’.strip(‘af’)的值为() (‘ssdd’)
104、 表达式len(‘aaaassddf’.strip(‘afds’))的值为() (0)
105、 表达式len(‘hello world’[100:])的值为
0
106、 表达式chr(ord(‘a’)3232)的值为() (‘a’)
107、 表达式chr(ord(‘a’)^32)的值为() (‘A’)
108、 已知x = ‘aa b ccc dddd’,那么表达式’’.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])的值为
'accddd'
112、 表达式 eval(’*’.join(map(str, range(1, 6)))) 的值为
120
117、 表达式 ‘Beautiful is better than ugly.’.startswith(‘Be’, 5) 的值为
False
- 从第五个开始查找所以找不到
118、 已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 ‘’.join(x.values()) 的值为
'345'
判断
1、 在UTF-8编码中一个汉字需要占用3个字节。(对)
2、 在GBK和CP936编码中一个汉字需要2个字节。(对)
3、 在Python中,任意长的字符串都遵守驻留机制。(错)
- Python支持短字符串驻留机制,对于短字符串,将其赋值给多个不同的对象时内存中只有一个副本,多个对象共享该副本。这与其他类型数具有相同的特点。然而这一特点并不适用于长字符串,长字符串不遵守驻留机制
4、 Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(对)
5、 Python字符串方法replace()对字符串进行原地修改。(错)
- 产生新字符串而不是原地修改
6、 如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。(对)
7、 已知x为非空字符串,那么表达式 ‘’.join(x.split()) == x 的值一定为True。(错)
8、 已知x为非空字符串,那么表达式 ‘,’.join(x.split(’,’)) == x 的值一定为True。(对)
9、 当作为条件表达式时,[]与None等价。(对)
10、 表达式 [] == None 的值为True。(错)
11、 当作为条件表达式时,{}与None等价。(对)
12、 表达式 {}==None 的值为True。(错)
13、 表达式 pow(3,2) == 3**2 的值为True。(对)
14、 当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(对)
15、 已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y) if i==j))可以用来计算两个字符串中对应位置字符相等的个数。(对)
16、 Python 3.x中字符串对象的encode()方法默认使用utf8作为编码方式。(对)
17、 已知x = ‘hellow world.’.encode(),那么表达式x.decode(‘gbk’)的值为’hellow world.’。(对)
- 尽管这里编码和解码的方式不一致,但是gbk编码和utf-8编码方式对于英文编码是没有差别的。所以不存在问题
18、 已知x = ‘Python是一种非常好的编程语言’.encode(),那么表达式x.decode(‘gbk’)的值为’Python是一种非常好的编程语言’。(错)
one等价。(对)
12、 表达式 {}==None 的值为True。(错)
13、 表达式 pow(3,2) == 3**2 的值为True。(对)
14、 当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(对)
15、 已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y) if i==j))可以用来计算两个字符串中对应位置字符相等的个数。(对)
16、 Python 3.x中字符串对象的encode()方法默认使用utf8作为编码方式。(对)
17、 已知x = ‘hellow world.’.encode(),那么表达式x.decode(‘gbk’)的值为’hellow world.’。(对)
- 尽管这里编码和解码的方式不一致,但是gbk编码和utf-8编码方式对于英文编码是没有差别的。所以不存在问题
18、 已知x = ‘Python是一种非常好的编程语言’.encode(),那么表达式x.decode(‘gbk’)的值为’Python是一种非常好的编程语言’。(错)
19、 字节串b’hello world’和b’hello world.'的MD5值相差很小。(错)