2023《Python程序设计》试题库:第4章字符串与正则表达式(含答案)
- 技巧分类:编程网络
- 技巧标签:Python  程序  设计  试题 
- 技巧链接:https://wpfx.org/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值相差很小。(错) 


 
                 
                 
                

发表评论(审核通过后显示) 取消回复