1. 程式人生 > >Python基礎資料型別考試題

Python基礎資料型別考試題

1,簡述變數命名規範(3分)

1.必須是字母,數字,下劃線的任意組合。
2.不能是數字開頭
3.不能是python中的關鍵字
4.變數不能是中文
5.變數不能過長
6, 變數要具有可描述性

2,位元組和位的關係。(2分)

8位等於1個位元組

3,’A太白’使用utf-8編碼時,佔的位數和位元組數,是多少?使用gbk編碼時,佔的位數 和位元組數,是多少。(2分)

’A太白’使用utf-8編碼時,佔56位和7個位元組(漢字佔3位元組,英文佔1位元組),使用gbk編碼時,佔40位和5個位元組(漢字佔2位元組,英文佔1位元組)

4,默寫字串的十二個功能,並描述其作用。(12分)

  1、strip()  消除字串兩端的字元、空格、換行

  2、split() 預設以空格分割

  3、capitalize() 首字母大寫

  4、center() 居中

  5、upper()  lower()  全部大寫/小寫

  6、swapcase() 大小寫翻轉

  7、title ()   非字母隔開的每個單詞的首字母大寫

  8、index()通過元素索引,可以整體找,可以切片,找不到會報錯

  9、find()通過元素索引,找不到-1

  10、replace()替換

  11、count()統計元素在字串出現的次數

  12、startswith(obj)檢查字串是否是以 obj 開頭,是則返回 True,否則返回 False。

         endswith(obj)檢查字串是否是以 obj 結尾,是則返回 True,否則返回 False。

5,Python中的常量是什麼?如何表示?通常放在檔案的哪裡(2分)

用全部大寫的字串表示,通常放在檔案的開頭

6,Python中的單行註釋和多行註釋分別是什麼?(2分)

單行註釋 #  和多行註釋 '''   '''

7,Python中input輸入的是什麼資料型別?(1分)

字串

8,書寫Python2與python3中的三個不同。(3分)

python2X: 原始碼不規範,原始碼混亂,重複程式碼多。
python3X: 重整原始碼,原始碼規範,優美,清晰,簡單
python2x: 預設的編碼方式ascii,
顯示中文:首行:  # -*- edcoding:utf-8 -*-
python3x: 預設的編碼方式 utf - 8
python2x: print '內容'  或者 print('內容')
python3x: print('內容')

9,寫程式碼,有如下列表,利用切片實現每一個功能(每題一分,共計4分)

lis = [['k', 'qwe', 20, {'k1': ['tt', 3, '1']}, 89, 'ab']]
1)將列表lis中的’tt’變成大寫(用兩種方式)。
lis[0][3]['k1'][0]='TT'
lis[0][3]['k1'][0]=lis[0][3]['k1'][0].upper()
print(lis)

2)將列表中的數字3變成字串’100’(用兩種方式)。
lis[0][3]['k1'][1]='100'
lis[0][3]['k1'][1]=str(lis[0][3]['k1'][1]+97)
print(lis)

3)將列表中的字串’1’變成數字101(用兩種方式)。
lis[0][3]['k1'][2]=101
lis[0][3]['k1'][2]=int(lis[0][3]['k1'][2]+'01')
lis[0][3]['k1'][2]=int(lis[0][3]['k1'][2])+100
print(lis)

b,寫程式碼,有如下字典,按照要求實現每一個功能(5分)
dic = {'k1': 'v1','k2': ['alex','sb'],(1,2,3,): {'k3': ['2', 100, 'TaiBai']}}
1)將’k2’對應的值的最後面的’sb’刪除。
dic['k2'].remove('sb')#同一個字典內部通過鍵去找字典的內容,列表是索引
print(dic)

2)將’k2’對應的值的第二個位置插入一個元素 ’老男孩’。
dic['k2'].insert(1,'老男孩')
print(dic)

3)將(1,2,3,)對應的值新增一個鍵值對(1,2,3),’ok’。
dic[(1,2,3,)]['(1,2,3)']='ok'
print(dic)

4)將’k3’對應的列表的最後追加’a’,’b’,’c’,’d’四個元素。
dic[(1,2,3,)]['k3'].extend('abcd')
print(dic)

5)將'TaiBai'改成男神。
dic[(1,2,3,)]['k3'][2]='男神'
print(dic)

13,分別使用while迴圈,和for迴圈列印1-2+3-4+5.......+99的結果。(8分)

count = 0
i = 0
while i < 100:
    if i % 2 == 0:
        count += i
    else:
        count -= i
    i += 1
print(count)

16,編寫程式,統計如下各個字串個數。(6分) 如有此字串str1 = "hello world god is allways busy", 最後得到的結果為:‘h:1,e:1,l:5,o:3,w:2,r:1,d:2,g:1,i:1,s:3,a:2,y:2,b:1,u:1,’

str1 = "hello world god is allways busy"
s1 = ''.join(str1.split())
print(s1)
result = ''
for i in s1:
    if i not in result:
        result = result + i + ':' + str(s1.count(i)) + ','
print(result)