1. 程式人生 > >我的python之路6(基礎練習)

我的python之路6(基礎練習)

eof 第一個字符 src 自己的 oba bit 存儲空間 提示符 文字

---恢復內容開始---

1、執行Python 腳本的兩種方式

打開Windows命令提示符

技術分享圖片

二、使用其它集成開發工具進行PYTHON程序的開發,如Eclips\Pycharm等,使用這種集成開發工具開發時,那都是大型的PYTHON項目了,以後開發大型PYTHON程序時肯定會用到的。

2、簡述位、字節的關系

位:二進制位(bit)是計算機存儲信息的基本單位,代表1個二進制數位,其值為0或1。
字節:8個連續的二進制位為一個字節,可以存放1個西文字符的編碼

3、簡述ascii、unicode、utf--‐8、gbk 的關系

ASIIC碼:

計算機是美國人發明和最早使用的,他們為了解決計算機處理字符串的問題,就將數字字母和一些常用的符號做成了一套編碼,這個編碼就是ASIIC碼。ASIIC碼包括數字大小寫字母和常用符號,一共128個,1字節(byte)=8bit,8bit能表示的最大數是256,所以ASIIC編碼中一個字符的大小就是1個字節

Unicode編碼:

計算機進入中國後,ASIIC完全不夠用,於是我們就制定了自己的GB2312編碼,把漢字編碼了進去。類似的在各國都有相同的情況,各國都開始制定自己的一套編碼,計算機的編碼越來越龐大,越來越亂,為了解決這一問題,Unicode應運而生。Unicode將各國文字統一編碼,所以Unicode編碼可以看做是ASIIC的擴展。特點:速度快,但是占內存大。

UTF-8:

UTF-8編碼可以理解成Unicode編碼的一種升級,為了節省存儲空間。UTF-8根據實際使用情況調節存儲編碼的位數,將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存等等

GBK:

GBK也是基於Unicode編碼的進一步優化,GBK的文字編碼是用雙字節來表示的,即不論中、英文字符均使用雙字節來表示

4、請寫出“李傑”分別用utf--‐8 和gbk 編碼所占的位數

24位

16位

5、Pyhton 單行註釋和多行註釋分別用什麽?

#

‘‘‘

‘‘‘

6、聲明變量註意事項有那些?

1、變量名只能是:字母、數字或下劃線的組合。
2、變量名的第一個字符不能是數字。

3、

以下關鍵字不能聲明為變量:

and,as,assert,break,class,continue,defdel,elif,else,except,finally,for,from,global,if,import,in,is,lambda,not,for,pass,print,raise,returm try,while,with,yield.

二:

變量命名習慣

1、

駝峰體

AgeOfOldboy

2、

下劃線

age_of_oldboy (常用)

下劃線

age_of_oldboy

7、如有一下變量n1=5,請使用int 的提供的方法,得到該變量最少可以用多少個二進制位表示?

n1 = 5
r = n1.bit_length()
print(r)

輸出 3

8、布爾值分別有什麽?

布爾值 包括true和False兩個值。在二進制中的0、1。在很多情況下,0被認為是 False,所有的非0 值均被認為是 True

9、閱讀代碼,請寫出執行結果

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


輸出

alex
Alex

10、寫代碼,有如下變量,請按照要求實現每個功能
name="aleX"
a.

移除name 變量對應的值兩邊的空格,並輸入移除後的內容

name = " aleX "
v = name.strip()
print(v)

輸出

aleX

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

name = "aleX"
v = name.startswith("al")
print(v)

輸出

True

c.
判斷name 變量對應的值是否以"X"結尾,並輸出結果

name = "aleX"
v = name.endswith("X")
print(v)

輸出

True

d.
將name 變量對應的值中的“l”替換為“p”,並輸出結果

name = "aleX"
m = str.maketrans("aleX","apeX")
new_n = name.translate(m)
print(new_n)

輸出

apeX

e.
將name 變量對應的值根據“l”分割,並輸出結果。


f.
請問,上一題e分割之後得到值是什麽類型(可選)?


g.
將name 變量對應的值變大寫,並輸出結果

name = "aleX"
v = name.upper()
print(v)

輸出

ALEX

h.
將name 變量對應的值變小寫,並輸出結果

name = "aleX"
v = name.lower() 
print(v)

輸出

alex

i.
請輸出name 變量對應的值的第2 個字符?


j.
請輸出name 變量對應的值的前3 個字符?

k.
請輸出name 變量對應的值的後2 個字符?
l.
請輸出name 變量對應的值中“e”所在索引位置?
m.
獲取子序列,僅不包含最後一個字符。如:
oldboy則獲取oldbo;
root則獲取roo

a.
21、字符串是否可叠代對象?如可以請使用for 循環每一個元素?

只要能被for循環就是可叠代對象

name="aleX"
for z in name:
    print(z)

輸出

a
l
e
X

22、請用代碼實現:
a.利用下劃線將列表的每一個元素拼接成字符串,li="alexericrain"

li = "alexericrain"
v = "_".join(li)
print(v)

輸出

a_l_e_x_e_r_i_c_r_a_i_n

b.利用下劃線將列表的每一個元素拼接成字符串,li=[‘alex‘,‘eric‘,‘rain‘](可選)

li = [alex,eric,rain]
v = "_".join(li)
print(v)

輸出

alex_eric_rain

23、Python2 中的range 和Python3 中的range 的區別?
Python2 :
  range  立即創建

  xrange  for循環的時候才一個一個創建
Python3 :
  range   for循環的時候才一個一個創建

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

value = input()
v1,v2 = value.split("+")
v1 = int(v1)
v2 = int(v2)
v = v1+v2
print(v)

輸出
  14
25、計算用戶輸入的內容中有幾個十進制小數?幾個字母?
如:content=input(‘請輸入內容:‘)#如:asduiaf878123jkjsfd--‐213928

c1 = 0
c2 = 0
content = input(請輸入內容:)
for item in content:
    if item.isdigit():
        c1 += 1
    if item.isalpha():
        c2 += 1
print(數字個數:,c1)
print(字母個數:,c2)

輸出

請輸入內容:asduiaf878123jkjsfd--‐213928
數字個數: 12
字母個數: 13

26、簡述int和9等數字以及以及和"xxoo"等字符串的關系?

  類與對象的關系

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

template = "敬愛可親的{0},最喜歡在{1}地方幹{2}"
name = input(">>")
interest = input(">>")
site = input(">>")
v = template.format(name,interest,site)
print(v)

輸出

敬愛可親的liu,最喜歡在shui地方幹zhongsheng

28、制作隨機驗證碼,不區分大小寫。
流程:
用戶執行程序
給用戶顯示需要輸入的驗證碼
用戶輸入的值
用戶輸入的值和顯示的值相同時現實正確信息;否則繼續生成隨機驗證碼繼續等待用戶輸入
生成隨機驗證碼代碼示例:

技術分享圖片

while True:
    code = check_code()
    print(code)
    code = code.upper()
    i=input(>>)
    i = i.upper()
    if code == i:
        break

print(通過)

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

i = input(>>)
if "蒼井空" in i or "東京熱" in i:
    v = i.replace(蒼井空, ***)
    v = v.replace(東京熱, ***)
print(v)

30、制作表格

循環提示用戶輸入:用戶名、密碼、郵箱(要求用戶輸入的長度不超過20 個字符,如果超過則只有前20 個字符有效)
如果用戶輸入q 或Q表示不再繼續輸入,將用戶輸入的內容以表格形式大隱

while True:
    v1 = input(>>)
    v2 = input(>>)
    v3 = input(>>)
    v11 = v1[0: 20]
    v22 = v1[0: 20]
    v33 = v1[0: 20]
    template = {0}\t{1}\t{2}\n
    text = template.format(v11, v22, v33)
    v = text.expandtabs()
    print(v)
    if v11 == q or v11 == Q:
        break
























---恢復內容結束---

我的python之路6(基礎練習)