2023《Python程序设计》试题库:第4章字符串与正则表达式(含答案)
- 技巧分类:编程网络
- 技巧标签:Python  程序  设计  试题 
- 技巧链接:https://wpfx.org.cn/skills/5254.html
- 技巧详情:
2023《Python程序设计》试题库:第4章字符串与正则表达式(含答案)
一、填空题
262、表达式 'abc' in ('abcdefg') 的值为______________。(True)
263、表达式 'abc' in ['abcdefg'] 的值为______________。(False)
264、表达式 'A' == 'A' 的值为_____________。(True)
265、Python语句''.join(list('hello world!'))执行的结果是____________________。('hello world!')
266、转义字符r’ ’的含义是___________________。(回车换行)
267、已知列表对象x = ['11', '2', '3'],则表达式 max(x) 的值为___________。('3')
268、表达式 min(['11', '2', '3']) 的值为_________________。('11')
269、已知列表对象x = ['11', '2', '3'],则表达式max(x, key=len) 的值为___________。('11')
270、已知 path = r'c: est.html',那么表达式 path[:-4]+'htm' 的值为__________。('c:\test.htm')
271、表达式 list(str([1,2,3])) == [1,2,3] 的值为______________。(False)
272、表达式 str([1, 2, 3]) 的值为__________________。('[1, 2, 3]')
273、表达式 str((1, 2, 3)) 的值为__________________。('(1, 2, 3)')
274、表达式 sum(range(1, 10, 2)) 的值为____________。(25)
275、表达式 sum(range(1, 10)) 的值为_____________。(45)
276、表达式 '%c'%65 的值为_________。('A')
277、表达式 '%s'%65 的值为__________。('65')
278、表达式 '%d,%c' % (65, 65) 的值为________。('65,A')
279、表达式 'The first:{1}, the second is {0}'.format(65,97) 的值为______________________________。('The first:97, the second is 65')
280、表达式 '{0:#d},{0:#x},{0:#o}'.format(65) 的值为_____________。('65,0x41,0o101')
281、表达式 isinstance('abcdefg', str) 的值为____________。(True)
282、表达式 isinstance('abcdefg', object) 的值为_____________。(True)
283、表达式 isinstance(3, object) 的值为_____________。(True)
284、表达式 'abcabcabc'.rindex('abc') 的值为____________。(6)
285、表达式 ':'.join('abcdefg'.split('cd')) 的值为______________。('ab:efg')
286、表达式 'Hello world. I like Python.'.rfind('python') 的值为________。(-1)
287、表达式 'abcabcabc'.count('abc') 的值为_____________。(3)
288、表达式 'apple.peach,banana,pear'.find('p') 的值为______________。(1)
289、表达式 'apple.peach,banana,pear'.find('ppp') 的值为________。(-1)
290、表达式 'abcdefg'.split('d') 的值为__________________。(['abc', 'efg'])
291、表达式 ':'.join('1,2,3,4,5'.split(',')) 的值为__________________。('1:2:3:4:5')
292、表达式 ','.join('a b ccc ddd '.split()) 的值为______________。('a,b,ccc,ddd')
293、表达式 'Hello world'.upper() 的值为___________。('HELLO WORLD')
294、表达式 'Hello world'.lower() 的值为_____________。('hello world')
295、表达式 'Hello world'.lower().upper() 的值为___________。('HELLO WORLD')
296、表达式 'Hello world'.swapcase().swapcase() 的值为______________。('Hello world')
297、表达式 r'c:windows otepad.exe'.endswith('.exe') 的值为_____________。(True)
298、表达式 r'c:windows otepad.exe'.endswith(('.jpg', '.exe')) 的值为_______。(True)
299、表达式 'C:\Windows\notepad.exe'.startswith('C:') 的值为_________。(True)
300、表达式 len('Hello world!'.ljust(20)) 的值为_________。(20)
301、表达式 len('abcdefg'.ljust(3)) 的值为_________。(7)
302、表达式 'a' + 'b' 的值为_____________。('ab')
303、已知 x = '123' 和 y = '456',那么表达式 x + y 的值为______________。('123456')
304、表达式 'a'.join('abc'.partition('a')) 的值为________________。('aaabc')
305、表达式 re.split('.+', 'alpha.beta...gamma..delta') 的值为_______________________。(['alpha', 'beta', 'gamma', 'delta'])
306、已知 x = 'a234b123c',并且re模块已导入,则表达式 re.split('d+', x) 的值为_________________。(['a', 'b', 'c'])
307、表达式 ''.join('asdssfff'.split('sd')) 的值为____________。('assfff')
308、表达式 ''.join(re.split('[sd]','asdssfff')) 的值为_______________。('afff')
309、假设re模块已导入,那么表达式 re.findall('(d)\1+', '33abcd112') 的值为___________________。(['3', '1'])
310、语句 print(re.match('abc', 'defg')) 输出结果为_____________。(None)
311、表达式 'Hello world!'[-4] 的值为________________。('r')
312、表达式 'Hello world!'[-4:] 的值为________________。('rld!')
313、表达式 'test.py'.endswith(('.py', '.pyw')) 的值为__________。(True)
314、表达式 len('abc'.ljust(20)) 的值为______________。(20)
315、代码 print(re.match('^[a-zA-Z]+$','abcDEFG000')) 的输出结果为_________。(None)
316、当在字符串前加上小写字母_____或大写字母_____表达原始字符串,不对其中的任何字符进行转义。(r、R)
317、在设计正则表达式时,字符_______紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽也许短的字符串。(?)
318、假设正则表达式模块re已导入,那么表达式 re.sub('d+', '1', 'a12345bbbb67c890d0e') 的值为_____________________。('a1bbbb1c1d1e')
319、表达式 len('中国'.encode('utf-8')) 的值为___________。(6)
320、表达式 len('中国'.encode('gbk')) 的值为____________。(4)
321、表达式 chr(ord('A')+2) 的值为__________。('C')
322、表达式 'abcab'.replace('a','yy') 的值为___________。('yybcyyb')
323、已知 table = ''.maketrans('abcw', 'xyzc'),那么表达式 'Hellow world'.translate(table) 的值为______________________。('Helloc corld')
324、表达式 'hello world, hellow every one'.replace('hello', 'hi') 的值为________________________。('hi world, hiw every one')
325、已知字符串 x = 'hello world',那么执行语句 x.replace('hello', 'hi') 之后,x的值为____________。('hello world')
326、正则表达式元字符________用来表达该符号前面的字符或子模式1次或多次出现。(+)
327、已知 x = 'a b c d',那么表达式 ','.join(x.split()) 的值为___________。('a,b,c,d')
328、正则表达式元字符________用来表达该符号前面的字符或子模式0次或多次出现。(*)
329、表达式 'abcab'.strip('ab') 的值为__________。('c')
330、表达式 [str(i) for i in range(3)] 的值为____________。(['0', '1', '2'])
331、表达式 'abc.txt'.endswith(('.txt', '.doc', '.jpg')) 的值为___________。(True)
332、代码 print(1,2,3,sep=':') 的执行结果为__________________。(1:2:3)
333、代码 for i in range(3):print(i, end=',') 的执行结果为_________________。(0,1,2,)
334、表达式 eval('''__import__('math').sqrt(9)''') 的值为______________。(3.0)
335、表达式 eval('''__import__('math').sqrt(3**2+4**2)''') 的值为_________。(5.0)
336、表达式 eval('3+5') 的值为_________________。(8)
337、表达式 eval('[1, 2, 3]') 的值为__________________。([1, 2, 3])
338、假设math标准库已导入,那么表达式 eval('math.sqrt(4)') 的值为_________。(2.0)
339、已知x为非空列表,那么表达式 random.choice(x) in x 的值为___________。(True)
340、表达式 'abc10'.isalnum() 的值为______________。(True)
341、表达式 'abc10'.isalpha() 的值为________________。(False)
342、表达式 'abc10'.isdigit() 的值为__________________。(False)
343、表达式 'C:\windows\notepad.exe'.endswith('.exe') 的值为________。(True)
344、表达式 '%s'%[1,2,3] 的值为_____________。('[1, 2, 3]')
345、表达式 'aaasdf'.lstrip('as') 的值为________________。('df')
346、表达式 'aaasdf'.lstrip('af') 的值为________________。('sdf')
347、表达式 'aaasdf'.strip('af') 的值为______________。('sd')
348、表达式 'aaasdf'.rstrip('af') 的值为_______________。('aaasd')
349、表达式 len('SDIBT') 的值为__________。(5)
350、表达式 'Hello world!'.count('l') 的值为___________。(3)
351、已知 x = 'abcdefg',则表达式 x[3:] + x[:3] 的值为___________________。('defgabc')
352、字符串编码格式UTF8使用____________________个字节表达一个汉字。(3)
353、字符串编码格式GBK使用__________________个字节表达一个汉字。(2)
354、已知字符串编码格式utf8使用3个字节表达一个汉字、1个字节表达英语字母,那么表达式len('abc你好')的值为_______________。(5)
355、已知字符串编码格式utf8使用3个字节表达一个汉字、1个字节表达英语字母,那么表达式len('abc你好'.encode())的值为_______________。(9)
356、已知字符串编码格式gbk使用2个字节表达一个汉字、1个字节表达英语字母,那么表达式len('abc你好'.encode('gbk'))的值为_______________。(7)
357、已知ord('A')的值为65并且hex(65)的值为'0x41',那么表达式'Ab'的值为________________。('Ab')
358、已知formatter = 'good {0}'.format,那么表达式list(map(formatter, ['morning']))的值为__________________。(['good morning'])
359、已知x = 'hello world.',那么表达式x.find('x')和x.rfind('x')的值都为_____________。(-1)
360、表达式':'.join('hello world.'.split())的值为___________________。('hello:world.')
361、表达式':'.join('a b c d'.split(maxsplit=2))的值为_________________。('a:b:c d')
362、已知x = 'hello world',那么表达式x.replace('l', 'g')的值为_______________。('heggo worgd')
363、假设已成功导入Python标准库string,那么表达式len(string.digits)的值为_______________。(10)
364、表达式'aaaassddf'.strip('af')的值为__________________。('ssdd')
365、表达式len('aaaassddf'.strip('afds'))的值为________________。(0)
366、表达式len('hello world'[100:])的值为__________________。(0)
367、表达式chr(ord('a')^32^32)的值为_________________。('a')
368、表达式chr(ord('a')^32)的值为_________________。('A')
369、已知x = 'aa b ccc dddd',那么表达式''.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])的值为_________________。('accddd')
370、假设正则表达式模块re已对的导入,那么表达式''.join(re.findall('d+', 'abcd1234'))的值为_____________________。('1234')
371、假设正则表达式模块re已对的导入,那么表达式re.findall('d+?', 'abcd1234')的值为_____________________。(['1', '2', '3', '4'])
372、假设正则表达式模块re已对的导入,那么表达式re.sub('(.s)\1+', '\1','a a a a a bb')的值为________________________。('a bb')
373、表达式 eval('*'.join(map(str, range(1, 6)))) 的值为_________。(120)
374、正则表达式模块re的__________方法用来编译正则表达式对象。(compile())
375、正则表达式模块re的______________方法用来在字符串开始处进行指定模式的匹配。(match())
376、正则表达式模块re的______________方法用来在整个字符串中进行指定模式的匹配。(search())
377、表达式 re.search(r'w*?(?P<f>w+)s+(?P=f)w*?', 'Beautiful is is better than ugly.').group(0) 的值为___________。('is is')
378、表达式 'Beautiful is better than ugly.'.startswith('Be', 5) 的值为_________。(False)
379、已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 ''.join(x.values()) 的值为____________。('345')
二、判断题
139、在UTF-8编码中一个汉字需要占用3个字节。(对)
140、在GBK和CP936编码中一个汉字需要2个字节。(对)
141、在Python中,任意长的字符串都遵守驻留机制。(错)
142、Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(对)
143、Python字符串方法replace()对字符串进行原地修改。(错)
144、假如需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。(对)
145、正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法假如匹配成功则返回match对象,匹配失败则返回空值None。(对)
146、已知x为非空字符串,那么表达式 ''.join(x.split()) == x 的值一定为True。(错)
147、已知x为非空字符串,那么表达式 ','.join(x.split(',')) == x 的值一定为True。(对)
148、当作为条件表达式时,[]与None等价。(对)
149、表达式 [] == None 的值为True。(错)
150、当作为条件表达式时,{}与None等价。(对)
151、表达式 {}==None 的值为True。(错)
152、表达式 pow(3,2) == 3**2 的值为True。(对)
153、当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(对)
154、正则表达式对象的match()方法可以在字符串的指定位置开始进行指定模式的匹配。(对)
155、使用正则表达式对字符串进行分割时,可以指定多个分隔符,而字符串对象的split()方法无法做到这一点。(对)
156、正则表达式元字符“^”一般用来表达从字符串开始处进行匹配,用在一对方括号中的时候则表达反向匹配,不匹配方括号中的字符。(对)
157、正则表达式元字符“\s”用来匹配任意空白字符。(对)
158、正则表达式 元字符“\d”用来匹配任意数字字符。(对)
159、已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y) if i==j))可以用来计算两个字符串中相应位置字符相等的个数。(对)
160、Python 3.x中字符串对象的encode()方法默认使用utf8作为编码方式。(对)
161、已知x = 'hellow world.'.encode(),那么表达式x.decode('gbk')的值为'hellow world.'。(对)
162、已知x = 'Python是一种非常好的编程语言'.encode(),那么表达式x.decode('gbk')的值为'Python是一种非常好的编程语言'。(错)
163、正则表达式'^http'只能匹配所有以'http'开头的字符串。(对)
164、正则表达式'^\d{18}|\d{15}$'只能检查给定字符串是否为18位或15位数字字符,并不能保证一定是合法的身份证号。(对)
165、正则表达式'[^abc]'可以一个匹配任意除'a'、'b'、'c'之外的字符。(对)
166、正则表达式'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'。(对)
167、字节串b'hello world'和b'hello world.'的MD5值相差很小。(错)
发表评论(审核通过后显示) 取消回复