1. 程式人生 > >python-----基礎知識練習題

python-----基礎知識練習題

1、執行Python 指令碼的兩種方式? 兩種方式(前提是環境變數和程式裝好的條件下):

①在python直譯器輸入內容 在終端輸入python+.py檔案路徑 執行結果。
②在終端下輸入python進入python,然後實時輸入內容,並獲取結果。


2、簡述位、位元組的關係?
一個位元組等於8位(1byte=8bit)。


3、簡述ascii、unicode、utf‐8、gbk 的關係?
ASCII碼使用一個位元組編碼(8位),用來表示的只有英文字母、數字和一些特殊的符號,只有256字元。
unicode 能夠表示所有的位元組(16位+),但是一些簡單的字母或者數字,也要佔記憶體至少16個位元組。


utf-8 改變了unicode的缺點,需要幾個位元組就用幾個,規定:一個英文字元用一個位元組來表示,一箇中文字元用3 個位元組來表示。
gbk 只是用來編碼漢字的,GBK全稱《漢字內碼擴充套件規範》,使用雙位元組編碼。


4、請寫出“李傑”分別用utf-8 和gbk 編碼所佔的位數?
utf-8: 3*2*8=48位
gbk: 2*2*8=32位


5、Pyhton 單行註釋和多行註釋分別用什麼?
單行註釋: #
多行註釋:""" (註釋內容
) """


6、宣告變數注意事項有那些?
變數名只能是 字母、數字或下劃線的任意組合
變數名的第一個字元不能是數字
以下關鍵字不能宣告為變數名
'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']


7、如有變數n1=5,請使用int 的提供的方法,得到該變數最少可以用多少個二進位制位表示?
n1=5
a=n1.bit_length()
print(a) #3


8、布林值分別有什麼?
True False


9、閱讀程式碼,請寫出執行結果
a="alex"
b=a.capitalize()
print(a)
print(b)
寫出輸出結果:alex
Alex


10、寫程式碼,有如下變數,請按照要求實現每個功能
name="aleX"
a.移除name 變數對應的值兩邊的空格,並輸入移除後的內容:
a=name.strip()
print(a)

b.判斷name 變數對應的值是否以"al"開頭,並輸出結果:


name='alex'
a=name.startswith('al')
print(a)
c.判斷name 變數對應的值是否以"X"結尾,並輸出結果
d.將name 變數對應的值中的“l”替換為“p”,並輸出結果
e.將name 變數對應的值根據“l”分割,並輸出結果。
f.請問,上一題e分割之後得到值是什麼型別(可選)?
list型
g.將name 變數對應的值變大寫,並輸出結果
h.將name 變數對應的值變小寫,並輸出結果
i.請輸出name 變數對應的值的第2 個字元?
j.請輸出name 變數對應的值的前3 個字元?
k.請輸出name 變數對應的值的後2 個字元?
l.請輸出name 變數對應的值中“e”所在索引位置?
m.獲取子序列,僅不包含最後一個字元。如:oldboy則獲取oldbo;root則獲取roo

 1 name='alex'
 2 # b=name.startswith('al')
 3 # print(b)#True
 4 # c=name.endswith('x')
 5 # print(c)#True
 6 # d=name.replace('l','p')
 7 # print(d)#apex
 8 # e=name.split('l')
 9 # print(e)#['a', 'ex']
10 # g=name.upper()
11 # print(g)#ALEX
12 # h=name.lower()
13 # print(h) #alex
14 # i=name[1]
15 # print(i) #l
16 # j=name[:3]
17 # # print(j) #ale
18 # k=name[-2:]
19 #  print(k) #ex
20 # l=name.find('e')
21 # print(l) #2
22 # m=name[0:-1]
23 # print(m)#ale
answer

 


11、 字串是否可迭代物件?如可以請使用for 迴圈每一個元素?
是 ep: name='jennifferjia'
for i in name:
print(i)


12、 請用程式碼實現:
a.利用下劃線將列表的每一個元素拼接成字串,li="alexericrain"
b.利用下劃線將列表的每一個元素拼接成字串,li=['alex','eric','rain'](可選)


13、 Python2 中的range 和Python3 中的range 的區別?
python3中,print range(0,100)不會立即把100個數列印到螢幕上 ,而是for遍歷的時候,才會打印出來。
python2就會立即打印出來,python3是對range的一個優化。


14、 實現一個整數加法計算器:
如:content=input('請輸入內容:')#如:5+9或5+9或5+9


15、 計算使用者輸入的內容中有幾個十進位制小數?幾個字母?
如:content=input('請輸入內容:')#如:asduiaf878123jkjsfd--‐213928


16、 簡述int和9等數字以及str和"xxoo"等字串的關係?
int是類----9是物件 str是類 ----xxoo'是物件


17、 製作趣味模板程式
需求:等待使用者輸入名字、地點、愛好,根據使用者的名字和愛好進行任意現實
如:敬愛可親的xxx,最喜歡在xxx 地方幹xxx


18、 製作隨機驗證碼,不區分大小寫。
流程:--‐使用者執行程式--‐給使用者顯示需要輸入的驗證碼--‐使用者輸入的值
使用者輸入的值和顯示的值相同時現實正確資訊;否則繼續生成隨機驗證碼繼續等待使用者輸入
生成隨機驗證碼程式碼示例:


19、 開發敏感詞語過濾程式,提示使用者輸入內容,如果使用者輸入的內容中包含特殊的字元:如”蒼老師""東京熱",將 內容替換為***


20、 製作表格迴圈提示使用者輸入:使用者名稱、密碼、郵箱(要求使用者輸入的長度不超過20 個字元,如果超過則只有前20 個字元有效)如果使用者輸入q 或Q表示不再繼續輸入,將使用者輸入的內容以表格形式列印?

 

 1 # _*_ encoding:utf-8 _*_
 2 __author__ = 'listen'
 3 __date__ = '2018/11/4 11:38'
 4 
 5 # name='jennifferjia'
 6 # for i in name:
 7 #     print(i)
 8 # 12 a li='alexericrain'
 9 # a='_'.join(li)
10 # print(a)
11 
12 # 12 b  li=['alex','eric','rain']
13 # for i in li:
14 #     print('_'.join(i))
15 
16 
17 # 14   content=input('請輸入要計算的內容:')
18 # a=int(content)
19 # print(a)
20 
21 
22 # 15   content=input('請輸入內容:')
23 # # num=0
24 # # zimu=0
25 # # for i in content:
26 # #     l=str.isdigit(i)
27 # #     d=str.isalpha(i)
28 # #     if l == True:
29 # #         num+=1
30 # #     elif d==True:
31 # #         zimu+=1
32 # # print(num,zimu)
33 
34 
35 # 17    name=input('請輸入您的名字:')
36 # where=input('請輸入您所在地方:')
37 # what=input('請輸入您最喜歡做的事情:')
38 # print '敬愛可親的'+name+','+'最喜歡在'+where+','+'地方幹'+what
39 # #j結果:請輸入您的名字:'jia'
40 # 請輸入您所在地方:'shanghai'
41 # 請輸入您最喜歡做的事情:'dishini'
42 # 敬愛可親的jia,最喜歡在shanghai,地方幹dishini
43 
44 # print(content)
45 
46 # 18   import random
47 # def code():
48 #     code_y=''
49 #     for i in range(4):
50 #         num=random.randint(0,9)
51 #         ret=chr(random.randint(65,122))
52 #         a=str(random.choice([num,ret]))
53 #         code_y=code_y+a
54 #     return code_y
55 # yan=code()
56 # print(yan)
57 #
58 # while True:
59 #     code_a=input('請輸入您的驗證碼:')
60 #     if yan==code_a:
61 #         print('輸入驗證碼成功')
62 #         break
63 #     else:
64 #         continue
65 
66 # 19   s=input('請輸入內容:')
67 # a=s.replace('蒼老師','***')
68 # b=a.replace('東京熱','***')
69 # print(b)
70 
71 # 
72 # 20   user = input('請輸入使用者名稱:')
73 # pwd = input('請輸入密碼:')
74 # mail = input('請輸入郵箱:')
75 # 
76 # 
77 # while True:
78 #     if len(user)>20:
79 #         user=user[:20]
80 #     elif len(pwd)>20:
81 #         pwd=pwd[:20]
82 #     elif len(mail)>20:
83 #         mail=mail[:20]
84 #         s = 'username\tpassword\tmail\n'
85 #         b='{0}\t{1}\t{2}\n'.format(user,pwd,mail)
86 #         a=s+b
87 #         c=a.expandtabs(20)
88 #         print(c)
answer