1. 程式人生 > >Python練習題匯總

Python練習題匯總

劃線 變量註意事項 inter python pos ike 內容 支持 用戶輸入

基礎知識練習題(一)

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

(1).交互方式:啟動python解釋器,執行命令
(2).腳本方式:Python xxx.py 或者 chmod +x && ./xxx.py

2.簡述位、字節的關系

一個字節等於8位,而1位在計算機最底層以二進制形式儲存的不是0就是1。

3.簡述ascii、unicode、uft-8、gbk的關系

ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基於拉丁字母的一套電腦編碼系統,
由1個字節組成,最多支持(
2**8)-1=255個字符。 Unicode是國際組織制定的可以存儲世界上所有文字和字符的字符編碼方案機制,由2個字節組成,最多支持2**16=65536個字符 而utf-8最大的特點是一種邊長的編碼方式,由1-6個字節組成,通常的英文字母被編碼成1個字節,漢字3個字節,只有恨生僻的字符才會被編碼成4-6個字節組成。 GBK是漢字國際拓展碼,由於GBK同時也涵蓋了Unicode所有CJK漢字,所以也可以和Unicode做一一對應。

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

UTF-8中一個英文占1個字節,一個中文占3個字節,此處“李傑”占6個字節。
GBK中一個中文占2個字節,此處“李傑”占4個字符。

5.Python單行註釋和多行註釋分別用什麽?

單行註釋:#要註釋內容
多行註釋:"""要註釋內容""" 或者‘‘‘要註釋內容‘‘‘

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

變量由數字、字母、下劃線組成
變量不能以數字開頭
變量不能使用關鍵字
變量區分大小寫

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

n1 = 5
print(n1.bit_length())

8.布爾值分別有什麽?

布爾型0和其他類型;“非空即真”

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

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

#執行結果:

-------------
    alex
    Alex

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

name=" aleX"

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

print(name.strip())

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

print(name.startswith(‘al‘),name)

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

print(name.endswith(‘X‘),name)

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

print(name.replace(‘l‘,‘p‘))

e.將name變量對應的值中的"l"分割,並輸出結果。

print(name.split(‘l‘))

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

列表

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

print(name.upper())

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

print(name.lower())

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

print(name[1])

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

print(name[:3])

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

print(name[-2:]) #-1代表最後一個字符,-2代表倒數第二個字符

l.請輸出name變量對應的值中"e"所在的索引位置?

print(name.index(‘e‘))

m.獲取子序列,僅不包含最後一個字符。如:oldboy 則獲取oldbo;root則獲取roo

print(name.rstrip(name[-1:]))

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

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

22.請用代碼實現:

#a.利用下劃線將列表的每一個元素拼接成字符串,li = "alexericrain"
li = "alexericrain"
print(‘_‘.join(li))
#b.利用下劃線將列表的每一個元素拼接成字符串,li = [‘alex‘,‘eric‘,‘rain‘]
li = [‘alex‘,‘eric‘,‘rain‘]
print(‘_‘.join(li))

23.Python2中的range和Python3中的range的區別?

python2中的range返回的是一個列表,直接創建內容
python3中的range返回的是一個叠代值,只有for循環時,內容才一個一個創建

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

如:
content = input(‘請輸入內容:‘) #如:5+9

content = input(‘請輸入內容:‘)

print(eval(content))

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

content = input(請輸入內容:)
number = 0
string = 0
for i in range(len(content)):
    if content[i].isdecimal():
        number += 1
    if content[i].isalpha():
        string += 1
print(十進制數%s,字母數:%s%(n,s))

26.制作趣味模版程序

user_name = input(>>>)
user_loc = input(>>>)
user_like = input(>>>)
v = 敬愛可愛的{name} ,最喜歡在{where}地方幹{do}
v = v.format(name = user_name,where = user_loc,do = user_like)
print(v)

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

#第一種
import random
def v_code():
    code = ‘‘
    for i in range(5):
        num=random.randint(0,9)
        alf=chr(random.randint(65,90))
        add=random.choice([num,alf])
        code="".join([code,str(add)])
    return code
print(v_code())

#第二種
l = []
for i in range(6):
    alpha = chr(random.randint(65, 90))  # random.randrange(65,91)
    alpha_lower = chr(random.randint(97, 122))  # random.randrange(65,91)
    num = str(random.randint(0, 9))
    ret = random.choice([alpha,num,alpha_lower])
    l.append(ret)
print(‘‘.join(l))

Python練習題匯總