一、執行 Python 腳本的兩種方式 python
python解釋器 py文件 #!/usr/bin/env pythonlinux
進入python解釋器,便捷命令並執行api
pycharm或其餘pythonIDE網絡
shebang編寫正確,py文件添加可執行權限,linux下執行./文件名.py
二、簡述位、字節的關係 app
1字節=8位
三、簡述 ascii、unicode、utf-八、gbk 的關係 dom
ascii 是最先美國用的標準信息交換碼,把全部的字母的大小寫,各類符號用 二進制來表示,共有256中,加入些拉丁文等字符,1bytes表明一個字符ide
Unicode是爲了統一世界各國語言的不用,統一用2個bytes表明一個字符,能夠表達2**16=65556個,稱爲萬國語言,特色:速度快,但浪費空間。ui
四、請寫出 「李傑」 分別用 utf-8 和 gbk 編碼所佔的位數 編碼
utf-8 6字節,48位spa
gbk 4字節,32位
五、Pyhton 單行註釋和多行註釋分別用什麼?
#
''' 或"""
註釋內容
''' 或"""
pycharm註釋快捷鍵:crtl+/
六、聲明變量注意事項有那些?
(1.) 變量名只能是 字母、數字或下劃線的任意組合
七、若有一下變量 n1 = 5,請使用 int 的提供的方法,獲得該變量最少能夠用多少個二進制位表示?
print(int(n1).bit_length()); #3個
101
八、布爾值分別有什麼?
真:True 1 假:False 0
九、閱讀代碼,請寫出執行結果
a = "alex"
b = a.capitalize()
print(a)
print(b)
請寫出輸出結果:
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
name = " aleX" print(name.strip()) print(name.startswith("al")) print(name.endswith("X")) print(name.replace("l","p")) print(name.split("l")) print(type(name.split("l"))) print(name.upper()) print(name.lower()) print(name[1]) print(name[:3]) print(name[-2:]) print(name.index("e")) print(name[:-1])
2一、字符串是否可迭代對象?如能夠請使用 for 循環每個元素?
text = "diedaishuchu" for t in text: print(t)
2二、請用代碼實現:
a. 利用下劃線將列表的每個元素拼接成字符串,li = "alexericrain"
b. 利用下劃線將列表的每個元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可選)
li = "alexericrain" li2 = ['alex', 'eric', 'rain'] print("_".join(li)) print("_".join(li2))
2三、Python2 中的 range 和 Python3 中的 range 的區別?
python2預先將range全部內容寫入內存,內存使用多
python3不會將全部內容所有寫入內存,動態回收內存
2四、實現一個整數加法計算器:
如:
content = input('請輸入內容:') # 如: 5+9 或 5+ 9 或 5 + 9
content = input('請輸入內容:') li=content.split("+") num = 0 sum_num = 0 for i in range(len(li)): num = int(li[i].strip()) sum_num += num print(sum_num)
2五、計算用戶輸入的內容中有幾個十進制小數?幾個字母?
如:
content = input('請輸入內容:') # 如:asduiaf878123jkjsfd-‐213928
content = input("請輸入內容:") int_num = 0 str_num = 0 for n in content: if n in "0123456789": int_num += 1 if n in "abcdefghijklmnopqrstuvwsyz": str_num += 1 print("數字個數爲:",int_num,"字母個數爲:",str_num)
2六、簡述 int 和 9 等數字 以及 str 和 "xxoo" 等字符串的關係?
int整數型可作運算
str爲字符串不能運算
整數轉換成字符串
num = 9
str = str(num)
str="9"
num=int(str)
2七、製做趣味模板程序
需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意現實
如:敬愛可親的 xxx,最喜歡在 xxx 地方幹 xxx
name = input("姓名:") place = input("地點:") like = input("愛好:") print("敬愛可親的"+name+",最喜歡在"+place+"作"+like) print('敬愛可親的%s,最喜歡在%s作%s'%(name,place,like))
2八、製做隨機驗證碼,不區分大小寫。
流程:
-‐ 用戶執行程序
-‐ 給用戶顯示須要輸入的驗證碼
-‐ 用戶輸入的值
用戶輸入的值和顯示的值相同時現實正確信息;不然繼續生成隨機驗證碼繼續等待用戶輸入
生成隨機驗證碼代碼示例:
def check_code(): import random checkcode = '' for i in range(4): current = random.randrange(0,4) if current != i: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp) return checkcode while True: code = check_code() user_code = input("請輸入驗證碼%s:"%(code)) if user_code.lower() == code.lower(): print("輸入正確!") break else: continue
或使用casefold()
# user_code = input("請輸入驗證碼:").casefold()
# code = code.casefold()
2九、開發敏感詞語過濾程序,提示用戶輸入內容,若是用戶輸入的內容中包含特殊的字符:
如 "蒼老師" "東京熱",則將內容替換爲 ***
text = input("請輸入內容:") mingan = [] mingan = ['蒼老師','東京熱'] for i in mingan: # print(i) while text.find(i) != -1: #text = "***" #或替換對應內容 text = text.replace(i,"***") break else: continue else: print(text)
30、製做表格
循環提示用戶輸入:用戶名、密碼、郵箱 (要求用戶輸入的長度不超過 20 個字符,若是超過則只有前 20 個字符有效)
若是用戶輸入 q 或 Q 表示再也不繼續輸入,將用戶輸入的內容以表格形式打印
v = [] while True: username = input("請輸入用戶名:") password = input("請輸入密碼:") email= input("請輸入郵箱:") user_name = username[:20] pass_word = password[:20] email20 = email[:20] n = {"name": user_name, "pwd": pass_word, "mail": email20} v.append(n) back = input("按q/Q退出打印,任意鍵繼續輸入") if back.lower() == "q": user_str = "用戶名\t密碼\t郵箱" print(user_str.expandtabs(20)) for lines in v: user_str = "{0}\t{1}\t{2}".format(lines["name"], lines["pwd"], lines["mail"]) print(user_str.expandtabs(20)) break