Python 字符串相關練習題記錄——第二天

1、執行Python腳本的兩種方式
(1)直接使用編輯器運行
(2)使用命令進入目錄,python xx.py執行

2、簡述位、字節的關係
1字節=8位

3、簡述ASCII、Unicode、Utf-8、Gbk的關係
(1)ascii 是最早美國用的標準信息交換碼,把所有的字母的大小寫,各種符號用 二進制來表示,共有256中,加入些拉丁文等字符,1bytes代表一個字符,
(2)Unicode是爲了統一世界各國語言的,統一用2個bytes代表一個字符,可以表達2**16=65556個,稱爲萬國語言,特點:速度快,但浪費空間,可以用在內存處理中,兼容了utf-8,gbk,ASCII,
(3)utf-8 爲了改變Unicode的這種缺點,規定1個英文字符用1個字節表示,1箇中文字符用3個字節表示,特點;節省空間,速度慢,用在硬盤數據傳輸,網絡數據傳輸,相比硬盤和網絡速度,體現不出來的,
(4)gbk是中文的字符編碼,用2個字節代表一個字符,

4、請寫出“李傑”分別與Utf-8和Gbk編碼所佔的位數
utf-8 6位
gbk 4位

==5、Python單行註釋和多行註釋分別用什麼? ==
單行註釋#
多行註釋""" “”" 、’’’ ‘’’

6、聲明變量注意事項有哪些?
(1)由字母、數字、下劃線組成
(2)不能以數字開頭
(3)不能以關鍵字命名

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

print(n1.bit_length())

8、布爾值分別有什麼?
True、False
注意:不能寫成true、false,區別java

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”))
c.判斷name變量對應的值是否以"X"結尾,並輸出結果
print(name.endswith(“X”))
d.將name變量對應的值中的"“替換爲"p”,並輸出結果
print(name.replace(" ",“p”))
e.將name變量對應的值根據“l”分割,並輸出結果
print(name.partition(“l”))
f.請問,上一題中e分割之後得到的值是什麼類型(可選)?
元組類型
g.將name變量對應的值變大寫,並輸出結果
print(name.upper())
h.將name變量對應的值變小寫,並輸出結果
print(name.lower())
i.請輸出name變量對應的值的第2個字符
print(name[1])
j.請輸出name變量對應的值的前3個字符
print(name[0:3])
k.請輸出name變量對應的值的後2個字符
print(name[-2:])
l.請輸出name變量對應值中"e"所在的索引位置?
print(name.find(“e”))
m.獲取子序列,僅不包含最後一個字符,如:oldboy則獲取oldbo;root則獲取roo
print(name[:-1])

21、字符串是否可以迭代對象?如可以請使用for循環每一個元素
可迭代對象:如果某一個東西可以被for循環,則稱它爲可迭代對象。

22、請用代碼實現:
a.利用下劃線將列表的每一個元素拼接成字符串,li=“alexericrain”
print("".join(li))
b.利用下劃線將列表的每一個元素拼接成字符串,li=“alex”,“eric”,“rain”
print("
".join(li))
23、Python2中的range和Python3中的range的區別?
Python2中的range返回的是一個列表,Python3中的range返回的是一個迭代值,如下:

L=range(0,10)
	print(L)
	
	Python2輸出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	Python3輸出:range(0, 10)

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

value=input(">>>請輸入兩個數相加:")
	v1,v2=value.split("+")
	v1=int(v1)
	v2=int(v2)
	print(v1+v2)

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

c1 = 0
c2 = 0
content=input(">>>請輸入內容:")
for item in content:
    if item.isnumeric():
        True
        c1 += 1
    else:
        c2 += 1
new_c1 = str(c1)
new_c2 = str(c2)
print("該字符串中數字有"+new_c1+"個")
print("該字符串中字母有"+new_c2+"個")

26、簡述 int 和 9 等數字 以及 str 和 “alex”等字符串的關係?
int、str、9、“alex”是類和對象的關係。

27、製作趣味模板程序
需求:等待用戶輸入名字、地點、愛好、根據用戶的名字和愛好進行任意實現。如:敬愛可親的李老師,最喜歡在體育場散步

1)
x=input(">>>請輸入用戶名:")
y=input(">>>請輸入最喜歡的地點:")
z=input(">>>請輸入最喜歡做的事情:")
print("可愛的"+x+"同學," +"最喜歡在"+y+z)2)
test = "嘻嘻哈哈的{0},最喜歡在{1}地方{2}"
name = input("請輸入你的名字: ")
place = input("請輸入你經常去的地方: ")
like = input("請輸入你的愛好: ")
v = test.format(name,place,like)
print(v)

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
code = check_code()
print(code)

29、開發敏感詞語過濾程序,提示用戶輸入內容,如果用戶輸入的內容中包含特殊字符:如"傻子",“神經病”,則將內容替換爲***

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

31、讓用戶輸入一堆字符串,我們最終打印出來每個字符串的下標和源每個字符串

 a = input(">>>請輸入字符串:")
  b = 0
  for c in a:
     print(b,c)
     b = b + 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章