第五章
一. 單選題(共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. 錯
答案:對
