python字串面試筆試題
- 1: 以下代碼的輸出是?
s = 'foo'
t = 'bar'
print('barf' in 2 * (s + t))
A.True
B.Fasle
+運算子連接字串,而*運算子創建多個副本, 2 *(s + t)的結果是'foobarfoobar',它確實包含字串'barf',
- 2: 以下代碼的輸出是?
print(ord('foo'))
A.102
B.102 111 111
C.例外
ord()函式回傳給定字符的整數值, 但是您只能指定一個字符(長度為1的字串):
- 3: 給出字串s的從倒數第一個開始,每3個取一個的切片運算式是什么?
A.s[::-3]
B.s[::3]
C.s[:3:-1]
切片運算式中的第三個索引為-3,表示從倒數第一個開始,每3個取一個,第一個和第二個索引應為-1(最后一個字符)和0(第一個字符), 這些使用默認值即可,
- 4: s = 'foobar', 下面哪個運算式的結果和其他不同
A.s[::5]
B.s[0] + s[-1]
C.s[::-1][::-5]
D.s[::-5]
E.s[::-1][-1] + s[len(s)-1]
- 5: s = 'foobar',下面哪些運算式為True
A.s[::-1][::-1] is s
B.s[::-1][::-1] == s
C.s[:] == s
D.s[:] is s
s [:]創建對原始字串s的實際參考, 因此,不僅s和s [:]相等,而且它們也具有相同的id():
s [::-1]反轉s,但創建對新物件的參考, 附加的[::-1]切片會再次將其反轉,因此它等于原始的s, 但這不是同一物件:
>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[:])
60155776
>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[::-1][::-1])
63665824
- 6: 用f字串補全 回傳'Hello, my name is name.'
def greet(person):
return # Use an f-string
A.f'Hello, my name is {person}.'
B.f'Hello, my name is person.'
C.f'Hello, my name is {%person}.'
f字串看起來像普通的字串,但以f或F為前綴,f字串中的變數用花括號括起來,
- 7: 以下代碼的輸出是?
print(
'$100 $200 $300'.count('$'),
'$100 $200 $300'.count('$', 5, 10),
'$100 $200 $300'.count('$', 5)
)
A.3 2 1
B.3 1 1
C.3 1 2
D.3 1 0
str.count() 計算指定字串中給定子字串的出現次數,第二個和第三個引數表示
- 8: s = 'foo-bar-baz',下面哪些運算式和s相等,
A.s.center(15)
B.s.strip('-')
C.'-'.join(s.partition('-'))
D.'-'.join(s.split('-'))
E.s.upper().lower()
- 9: 下面哪些運算式可以創建包含5個null (0x00)的 bytes.
A.bytes(5)
B.bytes('\x00\x00\x00\x00\x00', 'utf-8')
C.bytes([0] * 5)
D.bytes((0, 0, 0, 0, 0))
bytes(5)的引數可為整數,字串和編碼或迭代型別, 但不能是多個整數,
- 10: 以下代碼的輸出是?
list((b'abcde' + 'fghi')[3:6])
A.[b'd', b'e', b'f']
B.[100, 101, 102]
C. b'def'
D. 例外
- 11: 在Python中,字串是…
A. str物件
B. 字符陣列
C. 不變的
D. 可變的
- 12: 以下哪一項給予字母“e”的前兩次出現時將字串分開?
A.'e'.split("dededede", maxsplit = 2)
B."dededede".split('e', maxsplit = 2)
C.'e'.split("dededede", 2)
D. "dededede".split('e', 2)
- 13: 以下哪些數學運算子可用于連接字串:
A. -
B. +
C. /
D. *
-
14: s="hello",一行代碼將s反序轉換成'olleh'
-
15: 哪些方法可以實作字串連接
A. join()
B. +
C. %
D. format()
E. f-string
以上答案在訂閱號pythontesting 輸入 答案 可以獲取,
參考資料
- 本文涉及的python測驗開發庫 謝謝點贊! https://github.com/china-testing/python_cn_resouce
- python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
python集合面試筆試題
- 1 哪些關于Python的set型別的描述是正確的:
A. 集合可能包含可變元素,
B. 集合是可變的,
C. 集合中元素的順序很重要,
D. 給定元素不能出現在集合中多次,
- 2 以下哪些定義集合{'a','b','c'}:
A. s = {('a', 'b', 'c')}
B. s = {'a', 'b', 'c'}
C. s = set('abc')
D. s = set(['a', 'b', 'c'])
E. s = set('a', 'b', 'c')
- 3 s = {100, 200, 300}, 以下哪個陳述句不能正確產生s與集合{300,400,500}的并集:
A. s.union([300, 400, 500])
B. s.union(set([300, 400, 500]))
C. s.union({300, 400, 500})
D. s | [300, 400, 500]
E. s | set([300, 400, 500])
- 4 {'b', 'a', 'r'} & set('qux')的結果是:
A. {'b', 'r', 'a'}
B.set()
C.{}
D.{'q', 'r', 'x', 'u', 'b', 'a'}
- 5 {1, 2, 3, 4, 5} - {3, 4} ^ {5, 6, 7} 的結果是:
A. {1, 2}
B.{1, 2, 6, 7}
C.{3, 4, 5, 6, 7}
D.set()

- 6 集合s定義如下:s = {'foo', 'bar', 'baz', 'qux'},哪些洗掉了元素'bar':
A. del s['bar']
B.s.discard('bar')
C. s.difference_update({'bar'})
D.s.pop()
E. s -= {'bar'}
F. s &= {'foo', 'baz', 'qux'}
- 7 求以下代碼的輸出:
set1 = {1, 2, 3}
set2 = set1.add(4)
print(set2)
A. {1, 2, 3, 4}
B {1, 2, 3}
C 語法錯誤
D None
- 8 求以下代碼的輸出:
set1 = {1, 2, 3}
set2 = {4, 5, 6}
print(len(set1 + set2))
A 3
B 6
C 不確定
D 錯誤
- 9 求以下代碼的輸出:
A = {0, 2, 4, 6, 8};
B = {1, 2, 3, 4, 5};
print( A - B)
A {0, 1, 2, 3, 4, 5, 6, 8}
B {0, 8, 6}
C {2, 4}
- 10 求以下代碼的輸出:
A = {0, 2, 4, 6, 8};
B = {1, 2, 3, 4, 5};
print( A ^ B)
A {0, 1, 2, 3, 4, 5, 6, 8}
B {2, 4}
C {0, 8, 6}
D {0, 1, 3, 5, 6, 8}
以上答案在訂閱號pythontesting 輸入 答案 可以獲取,
釘釘或微信號: pythontesting 微信公眾號:pythontesting轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/551165.html
標籤:Python
下一篇:返回列表
