4. Python 基礎之階段測試(一)

一、執行 Python 腳本的兩種方式:
① 進入 Python 解釋器執行;
② 經過 Python + .py 文件的全路徑執行 Python 程序;
③ 在 Linux 中還能夠經過給 .py 文件添加執行權限並 ./*.py 的方式執行。
二、簡述位、字節的關係:
八位是一個字節。
三、簡述 ascll、unicode、utf-八、gbk 的關係:
① 經過圖示概括關係:python

② 描述四者之間的關係:
        最先的 ASCII 編碼只有 2**8-1=255 個字符被編碼到計算機裏,也就是大小寫英文字母、數字和一些符號。可是要處理中文顯然一個字節是不夠的,至少須要兩個字節,並且還不能和 ASCII 編碼衝突。因此,中國製定了一套 GB2312 編碼,用來把中文編進去。
        可是全世界有上百種語言,日本把日文編到 Shift_JIS 裏,韓國把韓文編到 Euc-k r裏,各國有各國的標準,就會不可避免地出現衝突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。所以,Unicode 應運而生,Unicode把全部語言都統一到一套編碼裏,這樣就不會再有亂碼問題了。
        Unicode 標準也在不斷髮展,但最經常使用的是用兩個字節表示一個字符(至少爲 16 個二進制位)。現代操做系統和大多數編程語言都直接支持Unicode。新的問題又出現了:若是統一成 Unicode 編碼,亂碼問題今後消失了。但若是你寫的文本基本上所有是英文的話,用 Unicode 編碼比 ASCII 編碼須要多一倍的存儲空間,在存儲和傳輸上就十分不划算。
       因此又出現了把 Unicode 編碼轉化爲「可變長編碼」的 UTF-8 編碼。UTF-8 編碼把一個 Unicode 字符根據不一樣的數字大小編碼成 1-6 個字節,經常使用的英文字母被編碼成 1 個字節,漢字一般是 3 個字節,只有很生僻的字符纔會被編碼成 4-6 個字節。若是你要傳輸的文本包含大量英文字符,用 UTF-8 編碼就能節省空間。
        UTF-8 編碼有一個額外的好處,就是 ASCII 編碼實際上能夠被當作是 UTF-8 編碼的一部分,因此,大量只支持 ASCII 編碼的歷史遺留軟件能夠在 UTF-8 編碼下繼續工做。
四、請寫出 「李傑」 分別用 utf-8 和 gbk 編碼所佔的位數:
在 UTF8 佔用 6 字節,48 個二進制位;在 GBK 中佔用 4 個字節,32 個二進制位。
五、Pyhton 單行註釋和多行註釋分別用什麼:
單行註釋:#
多行註釋:''' ''' 或 """ """ (在要註釋的行兩端加三個雙引號或三個單引號)
六、聲明變量注意事項有哪些:
① 數字、字母、下劃線,不能以數字開頭;
② 不能跟關鍵字重複;
③ 不能跟內置內容重複。
七、如下變量 n1 = 5,請使用 int 的提供的方法,獲得該變量最少能夠用多少個二進制位表示:
提示:經過字符串的 bit_length 能夠獲得結果(答案略)
八、布爾值分別有什麼:
True、False( Python 中首字母大寫 )
知識補充 ① 布爾值的運用:
#   "" (引號中什麼都沒有) ==========> 假(False)
#   " " (空格字符串)          ==========> 真(True)
#    0 (數字零)                  ==========> 假(False)
#    其餘數字                        ==========> 真(True)
知識補充 ② 數據類型的轉換:
# a = "123" 轉換爲數字:b = int(a)
# a = 123 轉換爲字符串:b = str(a)
# a = 123 轉換爲布爾值:b = bool(a)
# a = "zxl" 轉換爲布爾值:b = bool(a)
九、閱讀代碼,請寫出執行結果:編程

a    =    "alex" b = a.capitalize() print(a) print(b)

請寫出輸出結果: api

D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py alex Alex

十、寫代碼,有以下變量,請按照要求實現每一個功能:【略,詳見上篇文章中字符串的魔法】
name = " aleX"
a. 移除 name 變量對應的值兩邊的空格,並輸入移除後的內容。
b. 判斷 name 變量對應的值是否以 "al" 開頭,並輸出結果。
c. 判斷 name 變量對應的值是否以 "X" 結尾,並輸出結果。
d. 將 name 變量對應的值中的 「l」 替換爲 「p」,並輸出結果
e. 將 name 變量對應的值根據 「l」 分割,並輸出結果。
f. 請問,上一題 e 分割以後獲得值是什麼類型(可選)?
g. 將 name 變量對應的值變大寫,並輸出結果。
h. 將 name 變量對應的值變小寫,並輸出結果。
i. 請輸出 name 變量對應的值的第 2 個字符?
j. 請輸出 name 變量對應的值的前 3 個字符?
k. 請輸出 name 變量對應的值的後 2 個字符?
l. 請輸出 name 變量對應的值中 「e」 所在索引位置?
m. 獲取子序列,僅不包含最後一個字符。如:oldboy 則獲取 oldbo; root 則獲取 roo。
十一、字符串是否可迭代對象,如能夠請使用 for 循環每個元素?
① 可迭代對象:暫時認爲可以被 for 循環進行獲取的就是可迭代對象,又稱迭代器。
② Python 中字符串是可迭代對象,能夠用 for 循環每個元素。
十二、請用代碼實現:
a. 利用下劃線將列表的每個元素拼接成字符串,li = "alexericrain" 。編程語言

li= "alexericrain" v = "_".join(li) print(v)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py a_l_e_x_e_r_i_c_r_a_i_n

b. 利用下劃線將列表的每個元素拼接成字符串,li = ['alex', 'eric', 'rain'] 。ui

li= ['alex', 'eric', 'rain'] v = "_".join(li) print(v) D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py alex_eric_rain

1三、Python2 中的 range 和 Python3 中的 range 的區別:
Python 2:range 當即建立;Python 2 中的 xrange 和 Python 3 的 range 效果同樣;
Python 3:for 循環時纔會一個一個建立。
① 正序建立從 1 到 100,步長爲 5:編碼

for i in range(1,100,5): print(i)

② 倒序建立從 100 到 1,步長爲 5:spa

for i in range(100,1,-5): print(i)

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

content = input('請輸入內容:') # 將用戶輸入的內容賦值給 content。
v1,v2 = content.split('+') # 將 content 內容以 「+」 分割並賦值給 v一、v2。
v1 = int(v1) # 從新賦值。
v2 = int(v2) # 從新賦值。
equel = v1 + v2 # 求和賦值給 equel。
print(equel) # 打印求得的結果。
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py 請輸入內容:5 + 13
18

1五、計算用戶輸入的內容中有幾個十進制小數,幾個字母:
如:val = input('請輸入內容:') # 如:asduiaf878123jkjsfd-213928
解答思路:code

num = 0 string = 0 val = input('請輸入內容:') for item in val: # 若是 item 是數字:
num += 1
# 若是 item 是字母:
string += 1
print(num) print(string)

1六、簡述 int 和 9 等數字以及 str 和 "xxoo" 等字符串的關係:
int 和 srt 是類,9 和 「ooxx」 是類的對象,因此它們是類和對象的關係。
1七、製做趣味模板程序:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意實現:
如:敬愛可親的 xxx,最喜歡在 xxx 地方幹 xxx。
提示:定義模板,經過 format 實現。orm

name = input("姓名>>>") place = input("地址>>>") hobby = input("愛好>>>") temp = "敬愛可親的{0},最喜歡在{1}{2}" v = temp.format(name,place,hobby) print(v)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py 姓名>>>張雷 地址>>>籃球場 愛好>>>打籃球 敬愛可親的張雷,最喜歡在籃球場打籃球

1八、製做隨機驗證碼,不區分大小寫:
流程:
- 用戶執行程序
- 給用戶顯示須要輸入的驗證碼
- 用戶輸入的值
用戶輸入的值和顯示的值相同時現實正確信息,不然繼續生成隨機驗證碼繼續等待用戶輸入

生成隨機驗證碼代碼示例:

1九、開發敏感詞語過濾程序,提示用戶輸入內容,若是用戶輸入的內容中包含特殊的字符:
如 "蒼老師" "東京熱",則將內容替換爲 ***

v = input("請說出你的故事>>>") v = v.replace('蒼井空',"***") v = v.replace('東京熱',"***") print(v)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py 請說出你的故事>>>我喜歡在東京熱看蒼井空 我喜歡在***看***

20、製做表格
循環提示用戶輸入:用戶名、密碼、郵箱 (要求用戶輸入的長度不超過 20 個字符,若是超過則只有前 20 個字符有效)
若是用戶輸入 q 或 Q,表示再也不繼續輸入,將用戶輸入的內容以表格形式打印。
提示:涉及到的知識點:expandtabs、len、分片 [0:20] 及 while 循環等知識點。

相關文章
相關標籤/搜索