python程序设计第四章字符串 题库及选解

由于学校的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!'

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

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

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

在这里插入图片描述

59、 表达式 len(‘中国’.encode(‘gbk’)) 的值为

4
  • gbk编码中一个汉字占两个字节

在这里插入图片描述

60、 表达式 chr(ord(‘A’)+2) 的值为() (‘C’)

61、 表达式 ‘abcab’.replace(‘a’,‘yy’) 的值为

'yybcyyb'

62、 已知 table = ‘’.maketrans(‘abcw’, ‘xyzc’),那么表达式 ‘Hellow world’.translate(table) 的值为

'Helloc corld'

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'

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

74、 表达式 eval(’’’__ import __ (‘math’).sqrt(3 * * 2+4 * * 2)’’’) 的值为() (5.0)

75、 表达式 eval(‘3+5’) 的值为

8

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'

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值相差很小。(错)

猜你喜欢

转载自blog.csdn.net/zimuzi2019/article/details/106967507