1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 # 執行Python 腳本的兩種方式 5 # 答:①在windows的cmd窗口下 > D:/Python/python.exe D:/ex.py 6 # ②配置環境變量後,在ide編輯器下直接運行 7 8 # 簡述位、字節的關係 9 # 答:一個字節byte是八位bit 10 11 # 簡述 ascii、unicode、utf-八、gbk 的關係 12 # 答:ascii只能正確識別英文,對中文沒法識別,8位 13 # unicode俗稱萬國碼,最少是16位,能夠識別中文,可是若爲一個英文字母浪費空間,中文佔2個字節 14 # utf-8根據字符的實際佔用空間,中文佔3個字節 15 # gbk可識別中文,國內本身的編碼 16 17 # 請寫出"李傑"分別用utf-8和gbk編碼所佔的位數 18 # 答:一箇中文utf-8佔3個字節24位,gbk佔2個字節16位 19 # 李傑 utf-8佔48位、gbk佔32位 20 21 # Pyhton 單行註釋和多行註釋分別用什麼 22 # 答:單行註釋>'#XXXXXX',多行註釋>' """XXXXXX""" ' 23 24 # 聲明變量注意事項有那些 25 # 答:數字、字母、下劃線組成,且不能夠數字開頭,不要用關鍵字、內部函數名 26 27 # 若有一個變量n1 = 5,請使用 int 的提供的方法,獲得該變量最少能夠用多少個二進制位表示 28 n1 = 5 29 v1 = n1.bit_length() 30 print(v1) 31 32 # 布爾值分別有什麼 33 # 答:True和False,邏輯判斷 34 35 # 閱讀代碼,請寫出執行結果 36 # 37 # a = "alex" 38 # b = a.capitalize() #首字母大寫 39 # print(a) 40 # print(b) 41 # 請寫出輸出結果:alex Alex 42 43 # 寫代碼,有以下變量,請按照要求實現每一個功能 44 # name = " aleX" 45 name = " aleX" 46 # a. 移除 name 變量對應的值兩邊的空格,並輸入移除後的內容 47 v1 = name.strip() 48 print(v1) 49 # b. 判斷 name 變量對應的值是否以 "al" 開頭,並輸出結果 50 v1 = name.startswith("al") 51 print(v1) 52 # c. 判斷 name 變量對應的值是否以 "X" 結尾,並輸出結果 53 v1 = name.endswith("X") 54 print(v1) 55 # d. 將 name 變量對應的值中的 「l」 替換爲 「p」,並輸出結果 56 v1 = name.replace("l", "p") 57 print(v1) 58 # e. 將 name 變量對應的值根據 「l」 分割,並輸出結果 59 v1 = name.split("l") 60 print(v1) 61 # f. 請問,上一題 e 分割以後獲得值是什麼類型(可選) 62 t = type(v1) 63 print(t) 64 # g. 將 name 變量對應的值變大寫,並輸出結果 65 v1 = name.upper() 66 print(v1) 67 # h. 將 name 變量對應的值變小寫,並輸出結果 68 v1 = name.lower() 69 print(v1) 70 # i. 請輸出 name 變量對應的值的第 2 個字符? 71 print(name[1]) 72 # j. 請輸出 name 變量對應的值的前 3 個字符? 73 print(name[0:3]) 74 # k. 請輸出 name 變量對應的值的後 2 個字符? 75 print(name[len(name) - 2], name[len(name) - 1]) 76 # l. 請輸出 name 變量對應的值中 「e」 所在索引位置? 77 v1 = name.find("e") 78 print(v1) 79 # m. 獲取子序列,僅不包含最後一個字符。如: oldboy 則獲取 oldbo; root 則獲取 roo 80 print(name[0:len(name)-1]) 81 82 # 2一、字符串是否可迭代對象?如能夠請使用 for 循環每個元素? 83 for s in name : 84 print(s) 85 86 # 2二、請用代碼實現: 87 # a. 利用下劃線將列表的每個元素拼接成字符串,li = "alexericrain" 88 li = "alexericrain" 89 v1 = "_".join(li) 90 print(v1) 91 # b. 利用下劃線將列表的每個元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可選) 92 li = ['alex', 'eric', 'rain'] 93 v1 = "_".join(li) 94 print(v1) 95 96 # Python2 中的 range 和 Python3 中的 range 的區別? 97 # 答:Python2 Python3中range自動增長可設置範圍和步長 98 99 # 2四、實現一個整數加法計算器: 100 # 如: 101 # content = input('請輸入內容:') # 如: 5+9 或 5+ 9 或 5 + 9 102 """ 103 content = input("請輸入內容:") 104 v1 = content.split("+") 105 print(v1) 106 s = 0 107 for v in v1 : 108 vv = int(v) 109 s += vv 110 print(s) 111 """ 112 113 # 2五、計算用戶輸入的內容中有幾個十進制整數?幾個字母? 114 # 如: 115 # content = input('請輸入內容:') # 如:asduiaf878123-¥jkjsfd213928 116 """ 117 content = input("請輸入內容:") 118 intS = 0 119 charS = 0 120 for c in content : 121 if c.isdigit() : 122 intS += 1 123 continue 124 if c.isalpha() : 125 charS += 1 126 print(intS, charS) 127 """ 128 129 # 2六、簡述 int 和 9 等數字 以及 str 和 "xxoo" 等字符串的關係? 130 # 答:9是int的一個具體實例,"xxoo"是str類型的具體實例 131 132 # 2七、製做趣味模板程序 133 # 需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意現實 134 # 如:敬愛可親的 xxx,最喜歡在 xxx 地方幹 xxx 135 """ 136 name = input("姓名:") 137 addr = input("地點:") 138 like = input("愛好:") 139 print(name, "喜歡在", addr, like) 140 """ 141 142 # 2八、製做隨機驗證碼,不區分大小寫。 143 # 流程: 144 # -‐ 用戶執行程序 145 # -‐ 給用戶顯示須要輸入的驗證碼 146 # -‐ 用戶輸入的值 147 # 用戶輸入的值和顯示的值相同時現實正確信息;不然繼續生成隨機驗證碼繼續等待用戶輸入 148 # 生成隨機驗證碼代碼示例: 149 """ 150 def check_code() : 151 import random 152 checkCode = "" 153 for i in range(4) : 154 current = random.randrange(0, 4) 155 if current != i : 156 temp = chr(random.randint(65, 90)) 157 else : 158 temp = random.randint(0, 9) 159 checkCode += str(temp) 160 return checkCode 161 while True : 162 code = check_code() 163 content = input("請輸入驗證碼(" + code + "):") 164 if code == content : 165 break 166 print("success") 167 """ 168 169 # 2九、開發敏感詞語過濾程序,提示用戶輸入內容,若是用戶輸入的內容中包含特殊的字符: 170 # 如 "蒼老師" "東京熱",則將內容替換爲 *** 171 """ 172 content = input("請輸入:") 173 c = "" 174 if content.find("蒼老師") != -1: 175 c = content.replace("蒼老師", "***") 176 print(c) 177 """ 178 179 # 30、製做表格 180 # 循環提示用戶輸入:用戶名、密碼、郵箱 (要求用戶輸入的長度不超過 20 個字符,若是超過則只有前 20 個字符有效) 181 # 若是用戶輸入 q 或 Q 表示再也不繼續輸入,將用戶輸入的內容以表格形式大隱 182 s = "name\tpassword\temail\n" 183 while True : 184 name = input("請輸入用戶名(不可超過20個字符,若超過只取前20個):") 185 if name == "q" or name == "Q" : 186 break 187 name = name[0:20] 188 password = input("請輸入密碼(不可超過20個字符,若超過只取前20個):") 189 password = password[0:20] 190 email = input("請輸入郵箱(不可超過20個字符,若超過只取前20個):") 191 email = email[0:20] 192 s += (name + "\t" + password + "\t" + email + "\n") 193 ss = s.expandtabs(20) 194 print(ss)