Python程序设计题库——第五章
第五章
一. 单选题(共60题,24分)
- 以下选项中,关于Python字符串的描述错误的是( )
- A. Python语言中,字符串是用一对双引号""或者一对单引号 '' 括起来的零个或者多个字符
- B. 字符串包括两种序号体系:正向递增和反向递减
- C. 字符串是字符的序列,可以按照单个字符或者字符片段进行索引
- D. Python字符串提供区间访问方式,采用[N:M]格式,表示字符串中从N到M的索引子字符串(包含N和M)
答案:D
- 给出如下代码
TempStr ="Hello World"
可以输出“World”子串的是( )
- A. print(TempStr[–5:0])
- B. print(TempStr[–5:])
- C. print(TempStr[–5: –1])
- D. print(TempStr[–4: –1])
答案:B
- 关于eval函数,以下选项中描述错误的是( )
- A. eval函数的定义为:eval(source, globals=None, locals=None, /)
- B. 执行>>> eval("Hello")和执行>>> eval(" 'Hello' ")得到相同的结果
- C. eval函数的作用是将输入的字符串转为Python语句,并执行该语句
- D. 如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input( ))组合
答案:B
- 利用print()格式化输出,能够控制浮点数的小数点后两位输出的是( )
- A.
- B.
- C.
- D.
答案:B
- 以下选项中可访问字符串s从右侧向左第三个字符的是( )
- A. s[3]
- B. s[:-3]
- C. s[-3]
- D. s[0:-3]
答案:C
- 关于Python字符串,以下选项中描述错误的是( )
- A. 字符串可以保存在变量中,也可以单独存在
- B. 字符串是一个字符序列,字符串中的编号叫“索引”
- C. 可以使用datatype()测试字符串的类型
- D. 输出带有引号的字符串,可以使用转义字符\
答案:C
- 下面代码的输出结果是
>>> hex(255)
- A. '0eff
- B. '0off
- C. '0xff'
- D. '0bff'
答案:C
- 面代码的输出结果是( )
>>> oct(–255)
- A. '0d–377'
- B. '0o–377'
- C. '–0d377'
- D. '–0o377'
答案:D
- 下面代码的输出结果是( )
>>> bin(10)
- A. '0o1010'
- B. '0d1010'
- C. '0b1010'
- D. '0x1010'
答案:C
- 不是用于处理中文的字符编码。
- A. gb2312
- B. gbk
- C. big5
- D. ascii
答案:D
- 用()函数接收用输入的数据
- A. accept()
- B. input()
- C. readline()
- D. login()
答案:B
- 在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的字符串
- A. %d
- B. %c
- C. %s
- D. %t
答案:C
- 字符串是一个字符序列,例如,字符串s,从右侧向左取第3个字符用( )索引?
- A. s[3]
- B. s[-3]
- C. s[0:-3]
- D. s[:-3]
答案:B
- 若 a = 'abcd' ,若想将 a 变为 'ebcd' ,则下列语句正确的是( )
- A. a[0] = 'e'
- B. a.replace('a', 'e')
- C. a[1] = 'e'
- D. a = 'e' + a[1:]
答案:D
- 字符串是一个字符序列,例如,字符串s,从右侧向左第2个字符用( )索引?
- A. s[2]
- B. s[-2]
- C. s[0:-2]
- D. s[:-2]
答案:B
- 获得字符串s长度的方法是( )
- A. s.len()
- B. s.length
- C. len(s)
- D. length(s)
答案:C
- 字符串函数strip()的作用是( )
- A. 按照指定字符分割字符串为数组
- B. 连接两个字符串序列
- C. 去掉字符串两侧空格或指定字符
- D. 替换字符串中特定字符"
答案:C
- len("abc")的长度是3,len("老师好")的长度是( )
- A. 1
- B. 3
- C. 6
- D. 9
答案:B
- 字符串是一个连续的字符序列,用( )方式打印出可以换行的字符串。
- A. 使用转义符\
- B. 使用\n
- C. 使用空格
- D. 使用“\换行”
答案:B
- 字符串是一个字符序列,例如,字符串s,从右侧向左第5个字符用( )索引。
- A. s[:-5]
- B. s[-5]
- C. s[0:-5]
- D. s[5]
答案:B
- 以下关于字符串处理的描述错误的是( )项?
- A. print('C:\file\time'),输出结果是C:\file\time。
- B. Python 中字符串是以单引号、双引号或三引号括起来的任意文本,如果字符串赋值的时候,内部有单引号或双引号时如果不想使用转义字符常常可以使用r运算符来表示。
- C. ""符号可以被用来表示转义符号,例如'doesn't'和"doesn't"都表示字符串doesn't。
- D. 被单引号('...')或者双引号("...")包围的都是字符串。
答案:A
- 在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的一个字符。
- A. %d
- B. %c
- C. %t
- D. %s
答案:B
- 若 a = 'abcd' ,若想将 a 变为 'abce' ,则下列语句正确的是( )
- A. a[-1] = 'e'
- B. a.replace('d', 'e')
- C. a = a[0:3]+'e'
- D. a[4] = 'e'
答案:C
- 关于字符串下列说法错误的是( )
- A. 字符应该视为长度为1的字符串
- B. 字符串以\0标志字符串的结束
- C. 既可以用单引号,也可以用双引号创建字符串
- D. 在三引号字符串中可以包含换行回车等特殊字符
答案:B
- s = "the sky is blue",表达式 print(s[-4:], s[:-4]) 的结果是( )
- A. the sky is blue
- B. blue is sky the
- C. sky is blue the
- D. blue the sky is
答案:D
- 以下关于 random 库的描述,正确的是:
- A. 设定相同种子,每次调用随机函数生成的随机数不相同
- B. 通过 from random import * 引入 random 随机库的部分函数
- C. uniform(0,1) 与 uniform(0.0,1.0) 的输出结果不同,前者输出随机整数,后者输出随机小数
- D. getrandbits(K) 是生成一个长度为K位的二进制数
答案:D
- 给出如下代码
s = 'Python is beautiful!'
可以输出“python”的是( )
- A. print(s[0:6].lower())
- B. print(s[:–14])
- C. print(s[0:6])
- D. print(s[–21: –14].lower)
答案:A
- 给出如下代码
s = 'Python is Open Source!'
print(s[0:].upper())
上述代码的输出结果是( )
- A. PYTHON
- B. PYTHON IS OPEN SOURCE
- C. Python is Open Source!
- D. PYTHON IS OPEN SOURCE!
答案:D
- 下面代码的执行结果是( )
a = 123456789
b = "*"
print("{0:{2}>{1},}\n{0:{2}^{1},}\n{0:{2}<{1},}".format(a,20,b))
- A.
*********123,456,789 ****123,456,789***** 123,456,789*********
- B.
****123,456,789***** *********123,456,789 123,456,789*********
- C.
****123,456,789***** 123,456,789********* *********123,456,789
- D.
*********123,456,789 123,456,789********* ****123,456,789*****
答案:A
- 下面代码的执行结果是( )
>>> x = "Happy Birthday to you!"
>>> x * 3
- A. 系统报错
- B. Happy Birthday to you!
- C. Happy Birthday to you!Happy Birthday to you!Happy Birthday to you!'
- D. Happy Birthday to you! Happy Birthday to you! Happy Birthday to you!
答案: C
- 给出如下代码
s = "Alice"
print(s[::–1])
上述代码的输出结果是( )
- A. ecilA
- B. ALICE
- C. Alice
- D. Alic
答案:A
- 给出如下代码
s= "abcdefghijklmn"
print(s[1:10:3])
上述代码的输出结果是( )
- A. behk
- B. adgj
- C. beh
- D. adg
答案:C
- 给出如下代码
for i in range(12):
print(chr(ord(" ")+i),end=" ")
以下选项描述错误的是( )
- A. 输出结果为! " # $ % & ' ( ) * +
- B. 系统报错
- C. chr(x)函数返回Unicode编码对应的字符
- D. ord(" ")返回" "字符对应的Unicode编码
答案:B
- 给出如下代码 以下选项中描述正确的是( )
for i in range(6):
print(chr(ord(9801)+i),end="")
- A. chr ("a")返回"a"字符对应的Unicode编码
- B. 系统报错
- C. 输出结果为♈♉♊♋♌♍
- D. ord(x)函数返回x的Unicode编码对应的字符
答案:B
- 给出如下代码:如下描述错误的是( )
for i in range(10):
print(chr(ord("!")+i),end="")
- A. 系统报错
- B. ord("!")返回"!"字符对应的Unicode编码
- C. 输出结果为!"#$%&'()*
- D. chr(x)函数返回Unicode编码对应的字符
答案:A
- 下面代码的输出结果是( )
s1 = "The python language is a scripting language."
s1.replace('scripting','general')
print(s1)
- A. The python language is a scripting language.
- B. 系统报错
- C. ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']
- D. The python language is a general language.
答案:A
- 下面代码的输出结果是( )
s1 = "The python language is a scripting language."
s2 = s1.replace('scripting','general')
print(s2)
- A. The python language is a scripting language.
- B. ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']
- C. 系统报错
- D. The python language is a general language.
答案:D
- 下面代码的输出结果是( )
s = "The python language is a cross platform language."
print(s.find('language',30))
- A. 系统报错
- B. 40
- C. 11
- D. 10
答案:B
- 下面代码的输出结果是( )
s = "The python language is a multimodel language."
print(s.split(' '))
- A. Thepythonlanguageisamultimodellanguage.
- B. ['The', 'python', 'language', 'is', 'a', 'multimodel', 'language.']
- C. The python language is a multimodel language.
- D. 系统报错
答案:B
- 下面代码的输出结果是( )
a ="Python"
b = "A Superlanguage"
print("{:->10}:{:-<19}".format(a,b))
- A. ----Python:A Superlanguage----
- B. ----Python:----A Superlanguage
- C. The python language is a multimodel language.
- D. Python----:----A Superlanguage
答案:A
- 以下选项中,输出结果为False的是( )
- A. >>> 'python' < 'pypi'
- B. >>> 'ABCD' == 'abcd'.upper()
- C. >>> 'python123' > 'python'
- D. >>> ''<'a'
答案:A
- 下面代码的输出结果是( )
a = "alex"
b = a.capitalize()
print(a,end=",")
print(b)
- A. alex,ALEX
- B. ALEX,alex
- C. alex,Alex
- D. Alex,Alex
答案:C
- 下面代码的输出结果是( )
a = 20
b = a | 3
a &= 7
print(b ,end=",")
print(a)
- A. 6.66667,4
- B. 4,6.66667
- C. 4,23
- D. 23,4
答案:D
- 下面代码的输出结果是( )
a = "ac"
b = "bd"
c = a + b
print(c)
- A. dbac
- B. abcd
- C. acbd
- D. bdac
答案:C
- 下面代码的输出结果是( )
str1 = "mysqlsqlserverPostgresQL"
str2 = "sql"
ncount = str1.count(str2)
print(ncount)
- A. 2
- B. 5
- C. 4
- D. 3
答案:A
- 下面代码的输出结果是( )
>>> False/True
- A. True
- B. 0
- C. 0.0
- D. False
答案:C
- 下面代码的输出结果是( )
str1 = "mysqlsqlserverPostgresQL"
str2 = "sql"
ncount = str1.count(str2,10)
print(ncount)
- A. 0
- B. 3
- C. 4
- D. 2
答案:A
- 给出如下代码:
s = list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下\ 住。老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八个\ 把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。")
以下选项中能输出字符“八”出现次数的是( )
- A. print(s.count("八"))
- B. print(s.index("八"))
- C. print(s.index("八"),6,len(s))
- D. print(s.index("八"),6)
答案:A
- 给出如下代码:
s = list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下住。老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八个把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。")
以下选项中能输出字符“八”第一次出现的索引位置的是( )
- A. print(s.index("八"),6,len(s))
- B. print(s.count("八"))
- C. print(s.index("八"))
- D. print(s.index("八"),6)
答案:C
- 以下关于字符串处理正确的是( )项?
- A. 字符串是自带索引的,对变量word = "Python",word[1]是字符y,但是word[-1]会报越界错误。
- B. +号可以用来拼接两个字符串,对于以下代码的输出字符串是Python >>> prefix = "Py" >>> prefix + 'thon'
- C. 字符串的索引有两个边界,前边界和后边界都是包括的。
- D. 对于字符串"apple", 3 * "apple"的结果为"3apple"。
答案:B
- 当键盘输入”3”的时候,以下程序的输出结果是( )
r = input("请输入半径:")
ar = 3.1415 * r *r
print("{:.0f}".format(ar))
- A. 28
- B. 28.27
- C. 29
- D. Type Error
答案:D
- 以下程序的输出结果是:
s = "python\n编程\t很\t容易\t学"
print(len(s))
- A. 20
- B. 12
- C. 5
- D. 16
答案:D
- 关于Python字符编码,以下选项中描述错误的是( )
- A. ord(x)和chr(x)是一对函数
- B. Python默认采用Unicode字符编码
- C. chr(x)将字符转换为Unicode编码
- D. Python可以处理任何字符编码文本
答案:C
- 当需要在字符串中使用特殊字符时,Python使用( )作为转义字符的起始符号
- A. \
- B. /
- C. #
- D. %
答案:A
- 下列数据中,不属于字符串的是( )
- A. 'ab'
- B. '''perface'''
- C. "52wo"
- D. abc
答案:D
- 使用( )符号对浮点类型的数据进行格式化
- A. %c
- B. %f
- C. %d
- D. %s
答案:B
- 字符串'Hi,Andy'中,字符'A'对应的下标位置为( )
- A. 1
- B. 2
- C. 3
- D. 4
答案:C
- 下列方法中,能够返回某个子串在字符串中出现次数的是( )
- A. length
- B. index
- C. count
- D. find
答案:C
- 下列方法中,能够让所有单词的首字母变成大写的方法是( )
- A. capitalize
- B. title
- C. upper
- D. ljust
答案:B
- 字符串的strip方法的作用是( )
- A. 删除字符串头尾指定的字符
- B. 删除字符串末尾指定的字符
- C. 删除字符串头部指定的字符
- D. 通过指定分隔符对字符串切片
答案:A
二. 填空题(共121题,48.4分)
- 表达式
'ac' in 'abce'
的值为___________
。
- 答案: False
- 表达式
not 3
的值为___________
。
- 答案: False
- 表达式
'abc' in ('abcdefg')
的值为___________
。
- 答案: True
- 表达式
'abc' in ['abcdefg']
的值为___________
。
- 答案: False
- 表达式
'\x41'=='A'
的值为___________
。
- 答案: True
- Python语句
''.join(list('hello world!'))
执行的结果是___________
。
- 答案: 'hello world!'
- 转义字符
r’\n’
的含义是___________
。
- 答案: 回车换行
- 已知列表对象
x=['11','2','3']
,则表达式max(x)的值为___________
。
- 答案: '3'
- 表达式
min(['11','2','3'])
的值为___________
。
- 答案: '11'
- 已知列表对象
x=['11','2','3']
,则表达式max(x,key=len)
的值为___________
。
- 答案: '11'
- 已知
path=r'c:\test.html'
,那么表达式path[:-4]+'htm'
的值为___________
。
- 答案: 'c:\test.htm'
- 表达式
list(str([1,2,3]))==[1,2,3]
的值为___________
。
- 答案: False
- 表达式
str([1,2,3])
的值为___________
。
- 答案: '[1, 2, 3]'
- 表达式
str((1,2,3))
的值为___________
。
- 答案: '(1, 2, 3)'
- 表达式
sum(range(1,10,2))
的值为___________
。
- 答案: 25
- 表达式
sum(range(1,10))
的值为___________
。
- 答案: 45
- 表达式
'%c'%65
的值为___________
。
- 答案: 'A'
- 表达式
'%s'%65
的值为___________
。
- 答案: '65'
- 表达式
'%d,%c'%(65,65)
的值为___________
。
- 答案: '65,A'
- 表达式
'The first:{1},the second is{0}'.format(65,97)
的值为___________
。
- 答案: 'The first:97,the second is65'
- 表达式
'{0:#d},{0:#x},{0:#o}'.format(65)
的值为___________
。
- 答案: '65,0x41,0o101'
- 表达式
isinstance('abcdefg',str)
的值为___________
。
- 答案: True
- 表达式
isinstance('abcdefg',object)
的值为___________
。
- 答案: True
- 表达式
isinstance(3,object)
的值为___________
。
- 答案: True
- 表达式
'abcabcabc'.rindex('abc')
的值为___________
。
- 答案: 6
- 表达式
':'.join('abcdefg'.split('cd'))
的值为___________
。
- 答案: 'ab:efg'
- 表达式
'Hello world.I like Python.'.rfind('python')
的值为___________
。
- 答案: -1
- 表达式
'abcabcabc'.count('abc')
的值为___________
。
- 答案: 3
- 表达式
'apple.peach,banana,pear'.find('p')
的值为___________
。
- 答案: 1
- 表达式
'apple.peach,banana,pear'.find('ppp')
的值为___________
。
- 答案: -1
- 表达式
'abcdefg'.split('d')
的值为___________
。
- 答案: ['abc', 'efg']
- 表达式
':'.join('1,2,3,4,5'.split(','))
的值为___________
。
- 答案: '1:2:3:4:5'
- 表达式
','.join('abccc\n\n\nddd'.split())
的值为___________
。
- 答案: 'abccc,ddd'
- 表达式
'Hello world'.upper()
的值为___________
。
- 答案: 'HELLO WORLD'
- 表达式
'Hello world'.lower()
的值为___________
。
- 答案: 'hello world'
- 表达式
'Hello world'.lower().upper()
的值为___________
。
- 答案: 'HELLO WORLD'
- 表达式
'Hello world'.swapcase().swapcase()
的值为___________
。
- 答案: 'Hello world'
- 表达式
r'c:\windows\notepad.exe'.endswith('.exe')
的值为___________
。
- 答案: True
- 表达式
r'c:\windows\notepad.exe'.endswith(('.jpg','.exe'))
的值为___________
。
- 答案: True
- 表达式
'C:\\Windows\\notepad.exe'.startswith('C:')
的值为___________
。
- 答案: True
- 表达式
len('Hello world!'.ljust(20))
的值为___________
。
- 答案: 20
- 表达式
len('abcdefg'.ljust(3))
的值为___________
。
- 答案: 7
- 表达式
'a'+'b'
的值为___________
。
- 答案: (1)'ab'
- 已知x='123'和y='456',那么表达式x+y的值为
___________
。
- 答案: '123456'
- 表达式
'a'.join('abc'.partition('a'))
的值为___________
。
- 答案: 'aaabc'
- 表达式
re.split('\.+','alpha.beta...gamma..delta')
的值为___________
。
- 答案: ['alpha','beta','gamma','delta']
- 已知x='a234b123c',并且re模块已导入,则表达式re.split('\d+',x)的值为
___________
。
- 答案: ['a', 'b', 'c']
- 表达式
''.join('asdssfff'.split('sd'))
的值为___________
。
- 答案: 'assfff'
- 表达式
''.join(re.split('[sd]','asdssfff'))
的值为___________
。
- 答案: 'afff'
- 假设re模块已导入,那么表达式
re.findall('(\d)\\1+','33abcd112')
的值为___________
。
- 答案: ['3', '1']
- 语句
print(re.match('abc','defg'))
输出结果为___________
。
- 答案: None
- 表达式
'Hello world!'[-4]
的值为___________
。
- 答案: 'r'
- 表达式
'Hello world!'[-4:]
的值为___________
。
- 答案: 'rld!'
- 表达式
'test.py'.endswith(('.py','.pyw'))
的值为___________
。
- 答案: True
- 表达式
len('abc'.ljust(20))
的值为___________
。
- 答案: 20
- 代码
print(re.match('^[a-zA-Z]+$','abcDEFG000'))
的输出结果为___________
。
- 答案: None
- 当在字符串前加上小写字母
___________
或大写字母___________
表示原始字符串,不对其中的任何字符进行转义。
- 答案: r 、 R
- 在设计正则表达式时,
___________
字符紧随任何其限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。
- 答案: ?
- 假设正则表达式模块re已导入,那么表达式
re.sub('\d+','1','a12345bbbb67c890d0e')
的值为___________
。
- 答案: a1bbbb1c1d1e
- 表达式
len('中国'.encode('utf-8'))
的值为___________
。
- 答案: 6
- 表达式
len('中国'.encode('gbk'))
的值为___________
。
- 答案: 4
- 表达式
chr(ord('A')+2)
的值为___________
。
- 答案: 'C'
- 表达式
'abcab'.replace('a','yy')
的值为___________
。
- 答案: 'yybcyyb'
- 已知
table=''.maketrans('abcw','xyzc')
,那么表达式'Hellowworld'.translate(table)
的值为___________
。
- 答案: 'Helloccorld'
- 表达式
'helloworld,helloweveryone'.replace('hello','hi')
的值为___________
。
- 答案: 'hiworld,hiweveryone'
- 已知字符串
x='hello world'
,那么执行语句x.replace('hello','hi')
之后,x的值为。
- 答案: 'hello world'
- 正则表达式元字符
___________
用来表示该符号前面的字符或子模式1次或多次出现。
- 答案: +
- 已知
x='abcd'
,那么表达式','.join(x.split())
的值为___________
。
- 答案: 'abcd'
- 正则表达式元字符
___________
用来表示该符号前面的字符或子模式0次或多次出现。
- 答案: *
- 表达式
'abcab'.strip('ab')
的值为___________
。
- 答案: 'c'
- 表达式
[str(i)foriinrange(3)]
的值为___________
。
- 答案: ['0', '1', '2']
- 表达式
'abc.txt'.endswith(('.txt','.doc','.jpg'))
的值为___________
。
- 答案: True
- 代码
print(1,2,3,sep=':')
的执行结果为___________
。
- 答案: 1:2:3
- 代码的执行结果为
___________
。
for i in range(3):
print(i,end=',')
- 答案: 0,1,2,
- 表达式
eval('''__import__('math').sqrt(9)''')
的值为___________
。
- 答案: 3.0
- 表达式
eval("__import__('math').sqrt(3**2+4**2)")
的值为___________
。
- 答案: 5.0
- 表达式
eval('3+5')
的值为___________
。
- 答案: 8
- 表达式
eval('[1,2,3]')
的值为___________
。
- 答案: [1, 2, 3]
- 假设math标准库已导入,那么表达式
eval('math.sqrt(4)')
的值为___________
。
- 答案: 2.0
- 已知x为非空列表,那么表达式
random.choice(x) in x
的值为___________
。
- 答案: True
- 表达式
'abc10'.isalnum()
的值为___________
。
- 答案: True
- 表达式
'abc10'.isalpha()
的值为___________
。
- 答案: False
- 表达式
'abc10'.isdigit()
的值为___________
。
- 答案: False
- 表达式
'C:\\windows\\notepad.exe'.endswith('.exe')
的值为___________
。
- 答案: True
- 表达式
'%s'%[1,2,3]
的值为___________
。
- 答案: '[1, 2, 3]'
- 表达式
'aaasdf'.lstrip('as')
的值为___________
。
- 答案: 'df'
- 表达式
'aaasdf'.lstrip('af')
的值为___________
。
- 答案: 'sdf'
- 表达式
'aaasdf'.strip('af')
的值为___________
。
- 答案: 'sd'
- 表达式
'aaasdf'.rstrip('af')
的值为___________
。
- 答案: 'aaasd'
- 表达式
len('SDIBT')
的值为___________
。
- 答案: 5
- 表达式
'Hello world!'.count('l')
的值为___________
。
-
答案:
3
- 已知
x='abcdefg'
,则表达式x[3:]+x[:3]
的值为___________
。
- 答案: 'defgabc'
- 字符串编码格式UTF8使用
___________
个字节表示一个汉字。
- 答案: 3
- 字符串编码格式GBK使用
___________
个字节表示一个汉字。
- 答案: 2
- 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式
len('abc你好')
的值为___________。
- 答案: 5
- 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式
len('abc你好'.encode())
的值为___________
。
- 答案: 9
- 已知字符串编码格式gbk使用2个字节表示一个汉字、1个字节表示英语字母,那么表达式
len('abc你好'.encode('gbk'))
的值为___________
。
- 答案: 7
- 已知ord('A')的值为65并且hex(65)的值为'0x41',那么表达式
'\x41b'
的值为___________
。
- 答案: 'Ab'
- 已知
formatter='good{0}'.format
,那么表达式list(map(formatter,['morning']))
的值为___________
。
- 答案: ['goodmorning']
- 已知x='hello world.',那么表达式x.find('x')和x.rfind('x')的值都为
___________
。
- 答案: -1
- 表达式
':'.join('hello world.'.split())
的值为___________
。
- 答案: 'hello:world.'
- 表达式
':'.join('abcd'.split(maxsplit=2))
的值为___________
。
- 答案: 'abcd'
- 已知x='hello world',那么表达式
x.replace('l','g')
的值为___________
。
- 答案: 'heggo worgd'
- 假设已成功导入Python标准库string,那么表达式
len(string.digits)
的值为___________
。
- 答案: 10
- 表达式
'aaaassddf'.strip('af')
的值为___________
。
- 答案: 'ssdd'
- 表达式
len('aaaassddf'.strip('afds'))
的值为___________
。
- 答案: 0
- 表达式
len('hello world'[100:])
的值为___________
。
- 答案: 0
- 表达式
chr(ord('a')^32^32)
的值为___________
。
- 答案: 'a'
- 表达式
chr(ord('a')^32)
的值为___________
。
- 答案: 'A'
- 已知
x='aabcccdddd'
,那么表达式''.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])
的值为___________
。
- 答案: 'accddd'
- 假设正则表达式模块re已正确导入,那么表达式
''.join(re.findall('\d+','abcd1234'))
的值为___________
。
- 答案: '1234'
- 假设正则表达式模块re已正确导入,那么表达式
re.findall('\d+?','abcd1234')
的值为___________
。
- 答案: ['1', '2', '3', '4']
- 假设正则表达式模块re已正确导入,那么表达式
re.sub('(.\S)\\1+','\\1','aaaaabb')
的值为___________。
- 答案: 'aaabb'
\s
:表示空白字符集[\f\n\r\t\v],用于匹配空白字符,包括空格、制表符、换页符等。\S
:表示非空白字符集,等价于[^ \f\n\r\t\v]
,用于匹配非空白字符。\num
:此处num表示一个子模式序号的正整数。例如:“(.)\\1
”匹配两个连续的相同字符。'(.)\\1+'
:匹配任意字符的两次或多次重复出现。- re.sub(pattern, repl, string[, count=0, flags]):替换匹配到的字符串,即用pattern在string中匹配要替换的字符串,然后把它替换成repl。
- 表达式
eval('*'.join(map(str,range(1,6))))
的值为___________
。
- 答案: 120
- 正则表达式模块re的
___________
方法用来编译正则表达式对象。
- 答案: compile()
- 正则表达式模块re的
___________
方法用来在字符串开始处进行指定模式的匹配。
- 答案: match()
- 正则表达式模块re的
___________
方法用来在整个字符串中进行指定模式的匹配。
- 答案: search()
- 表达式
re.search(r'\w*?(?P<f>\b\w+\b)\s+(?P=f)\w*?','Beautiful is is better than ugly.').group(0)
的值为___________
。
- 答案: 'is is'
- 表达式
'Beautiful is bette rthan ugly.'.startswith('Be',5)
的值为___________
。
- 答案: False
- 已知字典
x={i:str(i+3) for i in range(3)}
,那么表达式''.join(x.values())
的值为___________
。
- 答案: '345'
- 切片选取的区间是左闭右( )型的,不包含结束位的值
- 答案: 开
三. 判断题(共37题,27.6分)
182.在UTF-8编码中一个汉字需要占用3个字节。
- A. 对
- B. 错
答案:对
183.在GBK和CP936编码中一个汉字需要2个字节。
- A. 对
- B. 错
答案:对
184.在Python中,任意长的字符串都遵守驻留机制。
- A. 对
- B. 错
答案:错
185.Python运算符%不仅可以用来求余数,还可以用来格式化字符串。
- A. 对
- B. 错
答案:对
186.Python字符串方法replace()对字符串进行原地修改。
- A. 对
- B. 错
答案:错
187.如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。
- A. 对
- B. 错
答案:对
188.正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None。
- A. 对
- B. 错
答案:对
189.已知x为非空字符串,那么表达式 ''.join(x.split()) == x
的值一定为True。
- A. 对
- B. 错
答案:错
190.已知x为非空字符串,那么表达式 ','.join(x.split(',')) == x 的值一定为True。
- A. 对
- B. 错
答案:对
191.当作为条件表达式时,[]与None等价。
- A. 对
- B. 错
答案:对
192.表达式 [] == None 的值为True。
- A. 对
- B. 错
答案:错
193.当作为条件表达式时,{}与None等价。
- A. 对
- B. 错
答案:对
194.表达式 {}==None 的值为True。
- A. 对
- B. 错
答案:错
195.表达式 pow(3,2) == 3**2 的值为True。
- A. 对
- B. 错
答案:对
196.当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。
- A. 对
- B. 错
答案:对
197.正则表达式对象的match()方法可以在字符串的指定位置开始进行指定模式的匹配。
- A. 对
- B. 错
答案:对
198.使用正则表达式对字符串进行分割时,可以指定多个分隔符,而字符串对象的split()方法无法做到这一点。
- A. 对
- B. 错
答案:对
199.正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。
- A. 对
- B. 错
答案:对
200.正则表达式元字符“\s”用来匹配任意空白字符。
- A. 对
- B. 错
答案:对
201.正则表达式 元字符“\d”用来匹配任意数字字符。
- A. 对
- B. 错
答案:对
202.已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y) if i==j))可以用来计算两个字符串中对应位置字符相等的个数。
- A. 对
- B. 错
答案:对
203.Python 中字符串对象的encode()方法默认使用utf8作为编码方式。
- A. 对
- B. 错
答案:对
204.已知x = 'hellow world.'.encode(),那么表达式x.decode('gbk')的值为'hellow world.'。
- A. 对
- B. 错
答案:对
205.已知x = 'Python是一种非常好的编程语言'.encode(),那么表达式x.decode('gbk')的值为'Python是一种非常好的编程语言'。
- A. 对
- B. 错
答案:错
206.正则表达式'^http'只能匹配所有以'http'开头的字符串。
- A. 对
- B. 错
答案:对
207.正则表达式'^\d{18}|\d{15}$'只能检查给定字符串是否为18位或15位数字字符,并不能保证一定是合法的身份证号。
- A. 对
- B. 错
答案:对
208.正则表达式'[^abc]'可以一个匹配任意除'a'、'b'、'c'之外的字符。
- A. 对
- B. 错
答案:对
209.正则表达式'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'。
- A. 对
- B. 错
答案:对
210.字节串b'hello world'和b'hello world.'的MD5值相差很小。
- A. 对
- B. 错
答案:错
211.无论使用单引号或者双引号包含的字符串,全用print函数输出的结果都一样
- A. 对
- B. 错
答案:对
212.无论input函数接受的任何数据,都会以字符串的方式进行保存
- A. 对
- B. 错
答案:对
213.Python中单个字符也属于字符串类型
- A. 对
- B. 错
答案:对
214.使用下标可以访问字符串中的每一个字符
- A. 对
- B. 错
答案:对
215.Python中字符串的下标是从1开始
- A. 对
- B. 错
答案:错
216.字符串的切片选取的区间范围是从起始位置开始,到结束位置结束
- A. 对
- B. 错
答案:错
217.如果index函数没有在字符串中找到子串,则会返回-1
- A. 对
- B. 错
答案:错
218.Python中字符串数据类型是不可变数据类型
- A. 对
- B. 错
答案:对