python基礎知識練習題一


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

1.在計算機終端(運行cmd),輸入安裝的Python路徑,然后輸入Python腳本的路徑,回車。

2.直接運行python

2.簡述位、字節的關系

1字節 = 8位二進制

3.簡述ASCII,Unicode,utf-8, gbk 的關系

ascll是國際標准編碼,8位二進制表示一個字符,最先產生

Unicode是萬國碼,通用,16位二進制表示一個字符

utf - 8,能用多少位表示就用多少位,3個字節表示中文,可以和Unicode互相轉換

gbk 是為漢字發明,2個可以表示中文,可以和Unicode互相轉換

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

48和32

5.Python單行注釋和多行注釋分別用什么表示

單行注釋:#

多行注釋:"""      """

6.聲明變量注意事項有哪些

1.不能用數字開頭

2.不能是python的關鍵字

3.不要和python內置的東西重復

4.讓變量名盡量有意義些

7.如以下變量n = 5,請使用int方法,得到該變量最少可以用多少個二進制位表示

n = 5
v = n.bit_length()
print(v)

8.布爾值分別有什么

True 和False

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

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

alex  和Alex

10.寫代碼,有如下變量,請按照要求實現每個功能

name = "  aleX"

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

n = "  aleX"
v = n.lstrip()
print(v)

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

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

c.判斷name變量對應的值是否以“X”結尾

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

d.將name變量對應的值中的“X”替換為“p”

n = "  aleX"
v = n.replace("X","p")
print(v)

e. 將name變量對應得值根據“l”分割

n = "  aleX"
v = n.split("l")
print(v)

f. 請問上一題e分割后得到的值是什么類型

列表類型(list)

g.將name變量對應得值變大寫

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

h.將name變量對應得值變小寫

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

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

n = "  aleX"
v = n[1]
print(v)

是空格

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

n = "  aleX"
v = n[0:3]
print(v)

空格 空格 a

k. 請輸出name變量對應的后兩個字符

n = "  aleX"
v = n[4:6]
print(v)

l. 請輸入name變量中的“e”所在的索引位置

n = "  aleX"
count =  0
for i in n:
    while i == 'e':
        print(count)
        break
    count = count + 1

m. 獲取子序列,僅不包含最厚一個字符。

n = "  aleX"
v = n[:-1]
print(v)

 21. 字符串是否是可迭代對象?

是,可以用for循環每一個元素

22.請利用代碼實現

a.利用下划線將列表的每一個元素拼接成字符串,li = "sadqasfqwefgwg"

n = "wsdgfsdgfg"
v = "_".join(n)
print(v)

23. python2中的range和python3中的區別

python2中的range在循環后直接創建對象,python3中,在for 循環時才一個一個創建,Python2中有xrange,效果和python3中的range效果一樣

24.實現一個整數加法計算器

count = input("請輸入內容:")
a, b = count.split("+")
print(int(a)+int(b))

25. 計算用戶輸入的內容中有幾個十進制小數,幾個字母?

count = input("請輸入內容:")
num = 0
al = 0
for i in count:
    n = i
    if n.isalpha():
        al +=1
    if n.isdecimal():
        num +=1
print("字母有%d個,數字有%d個"%(al,num))

26.簡述 int 和9等數字,以及str和“ooxx”等字符串的關系?

int  str 這些叫類或類型,而9和“ooxx”都是根據相應類型創建的對象

27.制作趣味模板程序

需求:等待用戶輸入名字、地點、愛好,實現:敬愛可親的xxx,最喜歡在xxx干xxx.

info = input("請輸入你的姓名,地點,愛好(中間用逗號隔開):")
a = info.split(",")[0]
b = info.split(",")[1]
c = info.split(",")[2]
print("敬愛的{0}最喜歡在{1}{2}".format(a,b,c))

 28. 制作隨機驗證碼,不區分大小寫。

流程:用戶執行程序

  給用戶顯示需要輸入的驗證碼

  用戶輸入的值:用戶數入的值和顯示值相同時,顯示正確信息。否則繼續生成隨機驗證碼。

 

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()
    code1 = code.lower()
    print(code1)
    ver_code = input("請輸入上面驗證碼:")
    ver_code1 = ver_code.lower()
    if ver_code1 == code1:
        print("我喜歡你")
        break

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

v = input("請輸入內容:")
v = v.replace("蒼老師", "***")
v = v.replace("東京熱", "***") print(v)

30.制作表格

循環提示用戶輸入:用戶名、密碼、郵箱(要求用戶輸入的長度不超過20個字符,如果超過則只有20個字符有效)

如果用戶輸入q或Q表示不再繼續輸入,將用戶輸入的內容以表格形式打印

s = ""
while True:
    name = input("請輸入用戶名:")[0:21]
    if name == "q" or name == "Q":
        break1
    ser = input("請輸入密碼:")[0:21]
    mal = input("請輸入郵箱:")[0:21]
    info = "{0}\t{1}\t{2}\n"
    v = info.format(name, ser, mal)
    s = s + v

print(s.expandtabs(20))

 注意結束程序的那個判斷,if name = "q" or name = "Q"     Q在python里永遠為True,  

 如果先輸入q,那name  == q,就是True,  True  or  True 得到 True,
 如果先輸入Q,那q為false,因為or,還是得True


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM