版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章字符串與序列序列通用操作字符串元組列表算法與問(wèn)題求解5.15.25.35.45.5學(xué)習(xí)引導(dǎo)…了解…理解…掌握…運(yùn)用5字符串與序列序列(Sequence)是一系列數(shù)據(jù)項(xiàng)的有序集合。序列中的每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)索引,索引從0開(kāi)始。主要用于存儲(chǔ)和操作多個(gè)數(shù)據(jù)元素。序列類型共同特性:有序性:序列中的數(shù)據(jù)項(xiàng)按插入順序排列。索引訪問(wèn):序列中的每個(gè)元素都有一個(gè)唯一的索引,可以通過(guò)索引訪問(wèn)特定元素。支持切片:序列可以通過(guò)切片操作來(lái)訪問(wèn)子序列。支持迭代:可以使用循環(huán)遍歷序列中的元素。5字符串與序列數(shù)據(jù)類型函數(shù)示例描述是否可變字符串str()'Hello'、"1234"、'''這是一個(gè)函數(shù)'''、"""唐詩(shī)三百首"""存儲(chǔ)一系列字符不可變Rangerange()range(10)range(3,100,3)表示一系列連續(xù)的整數(shù)不可變?cè)Mtuple()()、(2,)、(1,'abc',(2,3),['武漢','吉林'])與列表類似,但元組不可變不可變列表list()[]、[3]、[5,'武漢',('a',3),['Tom',18]]存儲(chǔ)任意類型的元素,可以包含不同類型的數(shù)據(jù)可變5.1
序列通用操作5.1序列通用操作序列數(shù)據(jù)類型共性元素間存在先后順序支持序列的拼接、重復(fù)、索引、切片、測(cè)試長(zhǎng)度、最大值、最小值和存在性測(cè)試等操作。5.1序列通用操作操作符描述s[i]索引,返回序列s的第i項(xiàng),項(xiàng)序號(hào)為整數(shù)s[start:end[:step]]切片,返回序列s從start到end(不包括end)的步長(zhǎng)為step的字符生成新的序列。step缺省時(shí),步長(zhǎng)為1,返回序號(hào)從start到end的子序列。s+t拼接兩個(gè)序列s和t,僅適用于列表和字符串s*n或n*sn為整數(shù),將序列s與自身拼接
n次生成新序列,range不支持此操作len(s)返回序列s的長(zhǎng)度,序列包含元素的個(gè)數(shù)或字符串包含字符的個(gè)數(shù)min(s,*[,key,default])返回序列s的最小值,key關(guān)鍵字缺省時(shí)按元素值比較max(s,*[,key,default])返回序列s的最大值,key關(guān)鍵字缺省時(shí)按元素值比較s.count(x)x在s中出現(xiàn)的總次數(shù)s.index(x[,i[,j]])元素或字符x在序列s中首次出現(xiàn)項(xiàng)的索引號(hào),i值存在時(shí)表示從索引號(hào)i處開(kāi)始查找x,j存在時(shí)表示查找范圍在i和j之間。xins如果基本序列s中的某項(xiàng)等于
x
,則結(jié)果為True,否則結(jié)果False如果字符串s中的任一子序列與x相等,則結(jié)果為True,否則結(jié)果Falsexnotins如果基本序列s中的某項(xiàng)等于
x
,則結(jié)果為False,否則結(jié)果True如果字符串s中的任一子序列與x相等,則結(jié)果為False,否則結(jié)果True5.1.1索引字符串:每個(gè)字符擁有一個(gè)序號(hào)元組、列表或range對(duì)象:每個(gè)元素?fù)碛幸粋€(gè)序號(hào)序列數(shù)據(jù)內(nèi)部有序存儲(chǔ),可以使用“序號(hào)”取得相應(yīng)的數(shù)據(jù)項(xiàng)。索引:通過(guò)序列數(shù)據(jù)的序號(hào)返回其對(duì)應(yīng)的值的操作,索引會(huì)創(chuàng)建一個(gè)新對(duì)象。兩種序號(hào)體系可以同時(shí)使用正向索引:序號(hào)正向從0開(kāi)始,終止值為序列長(zhǎng)度減1(len(s)-1)逆向索引:序號(hào)從-1開(kāi)始,終止值為負(fù)的序列長(zhǎng)度(-len(s))5.1.1索引字符串與列表的序號(hào)字符串而言,英文、中文、空格和各種符號(hào)都各占一個(gè)字符位。5.1.1索引索引是指通過(guò)序列數(shù)據(jù)的序號(hào)返回其對(duì)應(yīng)的字符或元素的操作。可以按正向序號(hào)進(jìn)行索引或按逆向序號(hào)進(jìn)行索引,通過(guò)序號(hào)獲取對(duì)應(yīng)的元素。索引的語(yǔ)法:序列名[序號(hào)]#字符串序列s=
'HelloWorld!'print(s[4])
#按序號(hào)正向索引,返回序號(hào)為4
的字符'o'print(s[-1])
#按逆向序號(hào)索引,返回最后一個(gè)字符
'!'5.1.1索引01234567891011HelloWorld!-12-11-10-9-8-7-6-5-4-3-2-1s5.1.1索引0123456789李明848095887665859855-10-9-8-7-6-5-4-3-2-1#序列類型—列表scores
=
['李明',
84,
80,
95,
88,
76,
65,
85,
98,
55]print(scores[0])
#按序號(hào)正向索引,返回序號(hào)為0的元素'李明'print(scores[4])
#按序號(hào)正向索引,返回序號(hào)為4的元素88print(scores[-1])
#按逆向序號(hào)索引,返回倒數(shù)第1個(gè)元素55print(scores[-3])
#按逆向序號(hào)索引,返回倒數(shù)第3個(gè)元素85scores5.1.1索引01234567890123456789-10-9-8-7-6-5-4-3-2-1#序列類型—ranger
=
range(10)
#獲得0,1,2,3,4,5,6,7,8,9的序列對(duì)象print(r[3])
#按序號(hào)正向索引,返回序號(hào)為3的元素
3print(r[-3])
#按逆向序號(hào)索引,返回倒數(shù)第3個(gè)元素
7r5.1.1索引當(dāng)使用的索引值超出列表現(xiàn)有數(shù)據(jù)的索引時(shí),Python將會(huì)產(chǎn)生“索引超出范圍”的異常。0123456789李明848095887665859855-10-9-8-7-6-5-4-3-2-1scores
=
['李明',
84,
80,
95,
88,
76,
65,
85,
98,
55]
#序號(hào)范圍為:0-9print(scores[10])#輸出:IndexError:listindexoutofrangescores5.1.1索引索引序號(hào)必須為整數(shù),不可為浮點(diǎn)數(shù)。試圖用浮點(diǎn)數(shù)做索引序號(hào),Python將會(huì)產(chǎn)生TypeError。當(dāng)索引值是通過(guò)計(jì)算得到時(shí),務(wù)必使其值為整型類型或先用int()函數(shù)對(duì)其進(jìn)行取整操作,再用做索引序號(hào)。scores
=
['李明',
84,
80,
95,
88,
76,
65,
85,
98,
55]
#序號(hào)范圍為:0-9print(scores[10.0//5])#10.0//5=2.0,為浮點(diǎn)數(shù)#TypeError:listindicesmustbeintegersorslices,notfloatprint(scores[int(10.0//5)])
#int(10.0//5)=2,返回805.1.1索引當(dāng)索引結(jié)果仍是序列類型數(shù)據(jù)時(shí),可以繼續(xù)索引,獲取元素中的數(shù)據(jù)。cv
=
['李明',
35,
('博士','副教授'),
[96,
92,
85]]#包含字符串、數(shù)字、元組和列表等多種類型數(shù)據(jù)的列表print(cv[0])
#序號(hào)為0的元素為字符串:'李明'print(cv[0][0])
#序號(hào)為0的元素中'李明'序號(hào)為0的元素為:'李'print(cv[2])
#序號(hào)為2的元素為元組('博士','副教授’)print(cv[3])
#序號(hào)為3的元素為列表[96,92,85]print(cv[2][0])
#序號(hào)為2的元素('博士','副教授')中序號(hào)為0的元素為:博士print(cv[3][1])
#序號(hào)為3的元素[96,92,85]中序號(hào)為1的元素為:920123'李明'35('博士','副教授')[96,92,85]'博士''副教授'96928501012cv5.1索引方法實(shí)現(xiàn)百分制轉(zhuǎn)五分制實(shí)例說(shuō)明:輸入一個(gè)整數(shù),當(dāng)輸入不在[0,100]
區(qū)間時(shí)輸出提示“Dataerror!”當(dāng)輸入滿足要求的前提下,用多分支結(jié)構(gòu)實(shí)現(xiàn)百分制轉(zhuǎn)五分制。轉(zhuǎn)換規(guī)則:根據(jù)分?jǐn)?shù)所在區(qū)間[0,60)、[60,70)、[70,80)、[80,90)、[90,100],分別輸出字符“E”“D”“C”“B”“A”。實(shí)例5.1索引方法實(shí)現(xiàn)百分制轉(zhuǎn)五分制思路:百分制分?jǐn)?shù)整除10,可得到其十位上的整數(shù)“i”,字符串中以“i”值作為索引的字符正好對(duì)應(yīng)該分?jǐn)?shù)段的五分制成績(jī)。將落在各區(qū)間的數(shù)分別對(duì)10做整除,得到0-10共11個(gè)數(shù)字,對(duì)應(yīng)字符串“EEEEEEDCBAA”中每個(gè)字符的序號(hào)。如85//10的結(jié)果為8,輸出字符串中序號(hào)為8的字符“B”。注意:當(dāng)成績(jī)中有浮點(diǎn)數(shù)時(shí),索引號(hào)需要先取整再使用。實(shí)例5.1索引方法實(shí)現(xiàn)百分制轉(zhuǎn)五分制def
convert_to_five_point_scale(score):
"""將百分制分?jǐn)?shù)轉(zhuǎn)為五分制分?jǐn)?shù),score:百分制分?jǐn)?shù)(0-100),返回五分制分?jǐn)?shù)(A-E)"""
degree
=
'EEEEEEDCBAA’
#序號(hào)0,1,2,3,4,5,6,7,8,9,10
if
score
>
100
or
score
<
0:
#排除不合法數(shù)據(jù)
return
'Dataerror!'
else:
i
=
int(score
//
10)
#用int()實(shí)現(xiàn)取整使索引號(hào)為整數(shù)
return
degree[i]
#degree[i]索引返回其中序號(hào)為I的字符
score
=
float(input('請(qǐng)輸入一個(gè)百分制成績(jī):'))
#輸入為非負(fù)數(shù)five_point_score
=
convert_to_five_point_scale(score)
#調(diào)用函數(shù)print(f'{score}分轉(zhuǎn)為五分制為{five_point_score}’)
#輸出為ABCDE或Dataerror!實(shí)例5.1索引方法實(shí)現(xiàn)百分制轉(zhuǎn)五分制score
=
float(input())degree
=
'EEEEEEDCBAA'print('Dataerror!')
if
(score
>
100
or
score
<
0)
else
print(degree[int(score
//
10)])實(shí)例利用條件表達(dá)式實(shí)現(xiàn):注意:浮點(diǎn)數(shù)整除10的結(jié)果是值為整數(shù)的浮點(diǎn)數(shù),如8.0。這里的score接受的是浮點(diǎn)數(shù)的輸入,需要用int()函數(shù)取整,確保索引號(hào)為整數(shù)。字符串序列及列表、元組和range等序列類型數(shù)據(jù)都支持切片操作。切片的過(guò)程是從第一個(gè)要返回的元素開(kāi)始,到第一個(gè)不想返回的元素結(jié)束按照給定的索引和步長(zhǎng),截取序列中的對(duì)象組成的新的片段對(duì)象切片的方法是:5.1.2切片seq[start:end:step]5.1.2切片seq[start:end:step]seq:序列類型數(shù)據(jù)對(duì)象名start:切片開(kāi)始的位置元素序號(hào)是第一個(gè)要返回的元素的索引號(hào);正向索引位置默認(rèn)為0;逆向索引位置默認(rèn)為負(fù)的序列長(zhǎng)度,即-len(seq);start省略時(shí)從第一個(gè)元素開(kāi)始切片。end:切片結(jié)束位置元素序號(hào)正向索引最后一個(gè)位置為序列長(zhǎng)度減1,即len(seq)-1;逆向索引結(jié)束位置序號(hào)默認(rèn)為-1;end省略時(shí)切片包括最后一個(gè)元素。step:取值的步長(zhǎng)默認(rèn)為1,不能為0start<end時(shí)步長(zhǎng)為正值;start>end時(shí)步長(zhǎng)為負(fù)值。5.1.2切片——字符串序列類型01234567891011HelloWorld!-12-11-10-9-8-7-6-5-4-3-2-1s
=
'HelloWorld!'print(s[6:8])
#根據(jù)序號(hào)[6:8]切片,輸出不包括結(jié)束序號(hào)的字符'Wo'print(s[:5])
#從起點(diǎn)到序號(hào)為5的位置切片,不包括5,'Hello'print(s[6:])
#從序號(hào)6向后到字符串結(jié)束切片,輸出'World!'print(s[-3:-1])
#負(fù)向索引,不包含右邊界元素,輸出'ld'print(s[6:-1])
#混用正負(fù)索引,輸出'World'print(s[::])
#從字符串開(kāi)始到結(jié)束進(jìn)行切片,輸出'HelloWorld!'print(s[::-1])
#按步長(zhǎng)為-1進(jìn)行切片,輸出'!dlroWolleH'print(s[::2])
#步長(zhǎng)為2,輸出序號(hào)為偶數(shù)的元素,輸出'HloWrd's5.1.2切片——列表類型012345678910李明84809588967665859855-11-10-9-8-7-6-5-4-3-2-1scores
=
['李明',
84,
80,
95,
88,
96,
76,
65,
85,
98,
55]print(scores[5:])
#從5到序列結(jié)束的元素,輸出[96,76,65,85,98,55]print(scores[1:-1])
#混用索引[84,80,95,88,96,76,65,85,98]print(scores[1::2])
#步長(zhǎng)為2,隔一個(gè),輸出[84,95,96,65,98]print(max(scores[1:]))
#切片返回除序號(hào)0的列表,max返回其最大值print(sum(scores[1:]))
#利用sum()函數(shù)對(duì)切片獲取的序列求和,輸出822#len()獲得切片后的列表元素個(gè)數(shù)print(sum(scores[1:])
/
len(scores[1:]))
#輸出切片后的序列元素的平均值82.25.1.2切片——range類型r
=
range(10)
#獲得0,1,2,3,4,5,6,7,8,9的序列print(r[3:6])
#對(duì)range(10)切片,返回新對(duì)象range(3,6)print(sum(r[1::2]))
#輸出序號(hào)為奇數(shù)的元素的和25print(sum(r[0::2])
/
len(r[0::2]))
#輸出序號(hào)為偶數(shù)的元素的平均值4.001234567890123456789-10-9-8-7-6-5-4-3-2-1r5.1.2切片——包含多種類型數(shù)據(jù)的列表cv
=
['李明',
35,
('博士','副教授'),
[96,
92,
85]]print(cv[2:4])
#切片得到新列表[('博士','副教授'),[96,92,85]]0123'李明'35('博士','副教授')[96,92,85]-4-3-2-1cv5.2回文字符串實(shí)例說(shuō)明:一個(gè)字符串,如果各字符逆序排列與原字符串相同,則稱為回文,如“12321”、“上海自來(lái)水來(lái)自海上”用戶輸入一個(gè)字符串,判斷是否為回文,如果是輸出True,否則輸出False。實(shí)例123215.2回文字符串思路:從前到后將字符串的每一個(gè)字符與從后向前每一個(gè)字符一一比較,如果都一一相同,則是回文。利用切片方法(s[start:end:step])。令步長(zhǎng)step值為-1,從最后一個(gè)字符開(kāi)始,到字符串開(kāi)始字符結(jié)束進(jìn)行切片,即構(gòu)造切片s[-1::-1]或s[::-1],可以獲得逆序的字符串。比較逆序的字符串與原字符串是否相同,相同則是回文。實(shí)例s
=
input()
#輸入一個(gè)字符串if
s
==
s[-1::-1]:
#s[-1::-1]將字符串反轉(zhuǎn),判斷反轉(zhuǎn)后是否與原字符串相等
print(True)
#如果相等,是回文,輸出Trueelse:
print(False)
#如果不相等,不是回文,輸出False5.2回文字符串實(shí)例print(True)
if
(s
:=
input())
==
s[::-1]
else
print(False)1.分支語(yǔ)句實(shí)現(xiàn)2.條件表達(dá)式結(jié)合賦值運(yùn)算符實(shí)現(xiàn)s
=
input()
#輸入一個(gè)字符串def
palindromic(s):
"""判定字符串否為回文字符串,s:輸入字符串,返回布爾值"""
return
s
==
s[::-1]
#比較運(yùn)算結(jié)果為布爾值print(palindromic(s))
#調(diào)用函數(shù)并輸出結(jié)果5.2回文字符串實(shí)例3.函數(shù)實(shí)現(xiàn)直接返回比較運(yùn)算表達(dá)式,避免使用分支語(yǔ)句。5.1.3序列拼接與重復(fù)字符串、元組與列表等序列類型都支持拼接與重復(fù)的操作。range序列類型不支持序列拼接或重復(fù),嘗試拼接或重復(fù)range對(duì)象時(shí),會(huì)觸發(fā)異常。序列拼接:"+",將兩個(gè)相同類型的序列拼接為一個(gè)。序列重復(fù):s*
n,s中的元素重復(fù)n次,產(chǎn)生一個(gè)新序列。當(dāng)n小于或等于0時(shí)會(huì)被當(dāng)作0來(lái)處理,此時(shí)序列重復(fù)0次的操作將產(chǎn)生一個(gè)空序列。year
=
2025s
=
'年'print('='
*
10)
#字符串重復(fù)10次print(str(year)
+
s)
#字符串拼接,整數(shù)參與拼接要先轉(zhuǎn)為字符串print('='
*
10)
#字符串重復(fù)10次輸出:==========2025年==========序列拼接與重復(fù)ls
=
[[]]
#創(chuàng)建一個(gè)包含一個(gè)空列表的列表ls_new
=
ls*
3
#重復(fù)只包含一個(gè)空列表元素的列表3次print(ls_new)
#重復(fù)引用空列表元素3次產(chǎn)生一個(gè)新列表[[],[],[]]ls[0].append(3)
#向列表中序號(hào)為0的元素中增加一個(gè)元素3print(ls_new)
#輸出:[[3],[3],[3]],列表ls中的元素是重復(fù)引用5.1.3
序列重復(fù)操作只是多次引用原序列中的元素,原序列中的項(xiàng)并不會(huì)被拷貝原序列中元素的改變將會(huì)導(dǎo)致重復(fù)序列中的元素改變。5.3輸出身份證信息實(shí)例說(shuō)明:中國(guó)的居民身份證號(hào)是一個(gè)18個(gè)字符的字符串,其各位上的字符代表的意義如下:第1、2位數(shù)字表示所在省份的代碼第3、4位數(shù)字表示所在地區(qū)的代碼第5、6位數(shù)字表示所在市縣的代碼第7~14位數(shù)字表示出生年、月、日第15、16位數(shù)字表示身份證注冊(cè)地的派出所的代碼第17位數(shù)字表示性別,奇數(shù)表示男性,偶數(shù)表示女性第18位數(shù)字是校檢碼,用來(lái)檢驗(yàn)身份證號(hào)的正確性,校檢碼可以是0-9中的一個(gè)數(shù)字,也可能是字母X。實(shí)例5.3輸出身份證信息實(shí)例說(shuō)明:輸入一個(gè)身份證號(hào),編程判斷其長(zhǎng)度是否正確;輸出其出生年月日。思路:身份證中提取生日,涉及判斷、字符串長(zhǎng)度、切片、拼接等知識(shí)點(diǎn)可以使用len()函數(shù)測(cè)字符串的長(zhǎng)度并判斷長(zhǎng)度是否為18用字符串切片的方法獲取身份證號(hào)碼中代表出生年月日的子串,并用"+"拼接實(shí)例5.3輸出身份證信息def
get_date_of_birth(id_num):
"""接收一個(gè)身份證號(hào)碼,返回出生日期,若輸入位數(shù)不是18,則輸出錯(cuò)誤提示信息"""
if
len(id_num)
==
18:
#測(cè)試輸入的字符串長(zhǎng)度是否為18
year
=
id_num[6:10]
#id_num序號(hào)6、7、8、9字符串,年份
month
=
id_num[10:12]
#id_num序號(hào)為10、11的字符串,月份
day
=
id_num[12:14]
#id_num序號(hào)為12、13的字符串,日期
birthdate
=
'出生于'+year+'年'+month+'月'+day+'日'
#字符串拼接
#birthdate=f'出生于{year}年{month}月{day}日'
#f-string方法
return
birthdate
else:
#輸入的字符串長(zhǎng)度不是18時(shí),輸出錯(cuò)誤提示信息
return
'輸入的身份證號(hào)位數(shù)錯(cuò)'
id_number
=
input()
#輸入一個(gè)表示身份證號(hào)的字符串print(get_date_of_birth(id_number))
#調(diào)用函數(shù),輸出出生日期或出錯(cuò)信息實(shí)例5.4約瑟夫環(huán)問(wèn)題實(shí)例說(shuō)明:有20個(gè)人圍坐在一張圓桌周圍從第1個(gè)人開(kāi)始報(bào)數(shù),數(shù)到3的人出列下一個(gè)人又從1開(kāi)始報(bào)數(shù),數(shù)到3的那個(gè)人又出列;依此規(guī)律重復(fù),直到圓桌周圍的人數(shù)少于3時(shí)結(jié)束,輸出剩下的人的序號(hào)。實(shí)例5.4約瑟夫環(huán)問(wèn)題問(wèn)題中要求每數(shù)到3的人出列,那么最后只剩2人時(shí)結(jié)束。20個(gè)人圍成一個(gè)圈用一個(gè)列表表示,每次將列表的第3個(gè)元素去除,同時(shí)將前2個(gè)元素拼接到列表的末尾,循環(huán)執(zhí)行,直至列表長(zhǎng)度小于3為止。變化過(guò)程:實(shí)例[
4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]1,2,3,[
,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,1,2][
,9,10,11,12,13,14,15,16,17,18,19,20,1,2,4,5]4,57,
8…[13,20,2][13,20]5.4約瑟夫環(huán)問(wèn)題實(shí)例說(shuō)明:約瑟夫環(huán)問(wèn)題可以擴(kuò)展為:一圈共有n個(gè)人,從1開(kāi)始報(bào)數(shù),報(bào)到m的人出列,然后重新開(kāi)始報(bào)數(shù),剩余人數(shù)小于m時(shí)停止,輸出每次出列的人的序號(hào)。思路:split()函數(shù):把用空格分隔的輸入切分為包含2個(gè)值的列表map()函數(shù):將列表中的所有值映射為參數(shù)指定的類型,此處為整數(shù)。多變量賦值:將這兩個(gè)整數(shù)值分別賦值給n和m。實(shí)例5.4約瑟夫環(huán)問(wèn)題def
josephus(n,
m):
"""接受兩個(gè)參數(shù),n為總?cè)藬?shù),m為報(bào)數(shù)的數(shù)字,返回列表"""
ls
=
list(range(1,
n
+
1))
#構(gòu)造一個(gè)元素1到n的列表
while
len(ls)
>
m
-
1:
#列表長(zhǎng)度大于m-1時(shí),去掉第m個(gè)元素
ls
=
ls[m:]
+
ls[:m
-
1]
#前m-1個(gè)元素拼接到m以后的列表末尾
return
ls
#循環(huán)結(jié)束后,返回列表中剩下的元素
total,
num
=
map(int,
input().split())
#輸入切分為列表并映射為整數(shù)print(josephus(total,
num))
#[4,7,1,8,5,2,9,6,3,10]實(shí)例5.1.4成員測(cè)試"in"和"notin"運(yùn)算符用于測(cè)試某對(duì)象是否為字符串、列表或元組等序列或集合中的成員,返回布爾值(True或False)。in:存在返回True,否則返回Falsenotin:不存在返回True,否則返回False成員測(cè)試一般用于條件運(yùn)算,根據(jù)測(cè)試結(jié)果決定執(zhí)行后續(xù)程序中的某個(gè)分支。famous_book
=
['水滸傳','三國(guó)演義','西游記','紅樓夢(mèng)']book_name
=
input()
if
book_name
in
famous_book:
print(f'{book_name}是中國(guó)四大名著之一')else:
print(f'{book_name}不是中國(guó)四大名著之一')5.5溫度轉(zhuǎn)換實(shí)例說(shuō)明:溫度的表示有攝氏度和華氏度兩個(gè)體系。轉(zhuǎn)換公式如下:C=(F-32)/1.8,F(xiàn)=C*1.8+32,其中,C表示攝氏度、F表示華氏度請(qǐng)編寫程序,將用戶輸入的華氏度轉(zhuǎn)換為攝氏度,或?qū)z氏度轉(zhuǎn)換為華氏度,保留小數(shù)點(diǎn)后
2位小數(shù)。要求輸入輸出的攝氏度單位用大寫字母"C"或小寫字母"c",華氏度單位用大寫字母"F"或小寫字母"f"。用戶輸入帶單位的溫度數(shù)值,可以是整數(shù)或小數(shù),如12.34C指攝氏12.34度;87.65F指華氏87.65度。實(shí)例5.5溫度轉(zhuǎn)換def
convert_temperature(temperature):
"""將輸入的溫度值轉(zhuǎn)換為另一種溫標(biāo),temperature:輸入的溫度值,字符串形式,以溫度單位符號(hào)結(jié)尾,返回轉(zhuǎn)換后的溫度值或出錯(cuò)信息,字符串形式。"""
if
temperature[-1]
in
'Ff':
#符號(hào)是否在'Ff'中存在
C
=
(float(temperature[:-1])
-
32)
/
1.8
#用華氏轉(zhuǎn)攝氏公式計(jì)算
return
"{:.2f}C".format(C)
#返回轉(zhuǎn)換后溫度和單位
elif
temperature[-1]
in
'Cc':
#符號(hào)是否在'Cc'中存在
F
=
1.8
*
float(temperature[:-1])
+
32
#用攝氏轉(zhuǎn)華氏公式計(jì)算
return
"{:.2f}F".format(F)
#返回轉(zhuǎn)換后溫度和單位
else:
#末位不是"Cc"和"Ff"中的字符
return
'Dataerror!'
#返回錯(cuò)誤提示實(shí)例5.1.5最大值和最小值max(s)
與min(s)
返回序列元素的最大值和最小值。元素為數(shù)值類型時(shí)直接比較元素為字符串時(shí),比較字符串的unicode
編碼的值ls
=
[ord(x)
for
x
in
'2020年9月']
#用ord()得到每個(gè)字符的unicode值列表print(ls)
#[50,48,50,48,24180,57,26376]print(max('2020年9月'))
#輸出字符串中unicode值最大的字符,月print(min('2020年9月'))
#輸出字符串中unicode值最小的字符,05.1.5最大值和最小值max()和min()函數(shù)用key
關(guān)鍵字指定判定最大值和最小值的規(guī)則。ls
=
['a',
'baa',
'bcde',
'de']print(max(ls))
#比較各字符的unicode值,d最大,輸出deprint(min(ls))
#比較各字符的unicode值,a最小,輸出aprint(max(ls,
key=len))
#比較列表中各字符串長(zhǎng)度,bcde最大print(min(ls,
key=len))
#比較列表中各字符串長(zhǎng)度,a最小,輸出anum
=
['01',
'9',
'10',
'5']print(max(num))
#比較列表中各字符串長(zhǎng)度,'9'最大print(max(num,
key=int))
#按各元素轉(zhuǎn)整型后比較,'10'轉(zhuǎn)整型10,最大5.2字符串5.2字符串字符串是Python中最常用的數(shù)據(jù)類型,屬于不可變數(shù)據(jù)類型。數(shù)據(jù)來(lái)源:input()函數(shù)接收到的數(shù)據(jù)、讀取文本文件獲得的數(shù)據(jù)等主要應(yīng)用:文本分析處理、文件數(shù)據(jù)處理。界定符:成對(duì)引號(hào)。一對(duì)單引號(hào)('')、雙引號(hào)("")
或三引號(hào)(''''''或"""""")字符串長(zhǎng)度:包含字符的個(gè)數(shù)。當(dāng)包含0個(gè)字符時(shí),長(zhǎng)度為0,稱為空字符串。print(len(''))
#長(zhǎng)度0,空字符串print(len(''))
#長(zhǎng)度1,空格字符串,1個(gè)空格1個(gè)字符print(len('Hesaid,"Good".'))
#長(zhǎng)度16,空格和標(biāo)點(diǎn)符號(hào)各1個(gè)字符print(len("I'mhere"))
#長(zhǎng)度8,字符串含單引號(hào)時(shí)外面用雙引號(hào)print(len('程序設(shè)計(jì)'))
#長(zhǎng)度4,每個(gè)漢字1個(gè)字符5.2.1字符串的創(chuàng)建將一個(gè)或多個(gè)字符放在引號(hào)中single_str
=
'這是字符串,允許包含"雙引號(hào)"'#單引號(hào)字符串可包含雙引號(hào)double_str
=
"這是字符串,允許包含'單引號(hào)'"#雙引號(hào)字符串可包含單引號(hào)
poem
='''#三引號(hào)字符串可包含單引號(hào)和雙引號(hào),保留換行符驛外斷橋邊,寂寞開(kāi)無(wú)主。已是黃昏獨(dú)自愁,更著風(fēng)和雨。無(wú)意苦爭(zhēng)春,一任群芳妒。零落成泥碾作塵,只有香如故。'''三引號(hào)也用于Python的注釋和文檔字符串5.2.1字符串的創(chuàng)建應(yīng)用str()函數(shù),返回一個(gè)對(duì)象的字符串形式。str(object=b'',
encoding='utf-8',
errors='strict')str()函數(shù)包括三個(gè)默認(rèn)值參數(shù),參數(shù)為空則返回空字符串。encoding或errors至少給出其中之一時(shí),object對(duì)象應(yīng)該是一個(gè)字節(jié)類對(duì)象,此時(shí)將object對(duì)象用encoding指定的編碼讀取二進(jìn)制流的內(nèi)容encoding或errors均缺省時(shí),str(object)返回object對(duì)象的“非正式”或格式良好的字符串表示5.2.1字符串的創(chuàng)建print(str(1234)[1])
#整數(shù)轉(zhuǎn)字符串再索引,返回'2'print(str(1.234)[0:3])
#浮點(diǎn)數(shù)轉(zhuǎn)字符串再切片',返回1.2'print(str(1234)[1])
#整數(shù)轉(zhuǎn)字符串,返回'2'print(str([1,
2,
3])[1])
#列表轉(zhuǎn)字符串,返回'1',序號(hào)為0的元素為'['print(str((1,
2,
3))[1])
#元組轉(zhuǎn)字符串,返回'1',序號(hào)為0的元素為'('print(str({1,
2,
3})[1])
#集合轉(zhuǎn)字符串,返回'1',序號(hào)為0的元素為'{'print(str({'a':
1,
'b':
2}))
#"{'a':1,'b':2}"print(str({'a':
1,
'b':
2})[1:4])
#切片,序號(hào)1,2,3的字符:'a'
s
=
b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c
\xe6\x88\x91\xe7\x94\xa8Python!'print(str(s,
encoding='utf-8'))
#以u(píng)tf-8編碼讀取二進(jìn)制流的內(nèi)容“人生苦短,我用Python!”5.2.1字符串的創(chuàng)建讀文件生成字符串with和open()函數(shù)打開(kāi)一個(gè)文件并創(chuàng)建一個(gè)文件對(duì)象。循環(huán)遍歷輸出,每次循環(huán)把其中一行讀取為一個(gè)以換行符“\n”結(jié)尾的字符串。#以只讀模式打開(kāi)文件,創(chuàng)建文件對(duì)象filewith
open('明日歌.txt','r',encoding='utf-8')
as
file:
for
line
in
file:
#遍歷輸出文件對(duì)象中的每一行
print(line)
#每行為一個(gè)字符串,行末換行符解析為換行注:代碼中with…as為上下文管理器,將open()函數(shù)放在其中,可以在代碼結(jié)束縮進(jìn)后自動(dòng)關(guān)閉文件,避免顯式使用關(guān)閉文件的語(yǔ)句和關(guān)閉異常。5.2.2字符串中的常量Python內(nèi)置了一些字符串常量,封裝了一些常用字符集,如string.digits
代表'0123456789'使用字符串常量時(shí),需先importstring導(dǎo)入string庫(kù)。5.2.2字符串中的常量字符串常量字符集string.ascii_letters'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz'string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ'string.digits'0123456789'string.hexdigits'0123456789abcdefABCDEF'string.octdigits'01234567'.string.punctuation'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'string.printable'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~\t\n\r\x0b\x0c'string.whitespace'\t\n\r\x0b\x0c'
5.6分類統(tǒng)計(jì)字符個(gè)數(shù)實(shí)例說(shuō)明:輸入一個(gè)字符串,以回車結(jié)束,統(tǒng)計(jì)字符串里英文字母、數(shù)字和其他字符的個(gè)數(shù)(回車符代表結(jié)束輸入,不計(jì)入統(tǒng)計(jì))。思路:遍歷輸入的字符串,依次判定每個(gè)字符的種類并做統(tǒng)計(jì)用字母和數(shù)字的字符串常量“string.ascii_letters”和“string.digits”做成員測(cè)試判定字符的類型。實(shí)例5.6分類統(tǒng)計(jì)字符個(gè)數(shù)實(shí)例import
string
def
count_characters(my_string):
"""my_string為輸入字符串,返回字母、數(shù)字和其他字符的數(shù)量"""
letter,
digit,
other
=
0,
0,
0
#用于計(jì)數(shù)的3個(gè)變量均設(shè)初值為0
for
c
in
my_string:
#遍歷,c依次取值為字符串中的字符
if
c
in
string.ascii_letters:
#若c在字母常量中存在,則c是字母
letter
+=
1
#字母計(jì)數(shù)加1個(gè)
elif
c
in
string.digits:
#若c在數(shù)字常量中存在,則c是數(shù)字
digit
+=
1
#數(shù)字計(jì)數(shù)加1個(gè)
else:
other
+=
1
#否則其他字符計(jì)數(shù)加1個(gè)
return
letter,
digit,
other
#返回字母、數(shù)字和其他字符的數(shù)量5.2.3字符串的表示Python支持中文,默認(rèn)使用UTF-8編碼。UTF-8編碼是可變長(zhǎng)度的編碼,用1到6個(gè)字節(jié)編碼Unicode字符。常用中文字符用UTF-8編碼占用3個(gè)字節(jié)(大約2萬(wàn)字),超大字符集中的更大多數(shù)漢字要占4個(gè)字節(jié),某些生僻字可能用六個(gè)字節(jié)表示。UTF-8編碼既解決ASCII編碼容量不夠的問(wèn)題,又避免了使用Unicode編碼浪費(fèi)空間問(wèn)題,并在最大限度上兼容了早期的ASCII編碼,使一些早期使用ASCII編碼的軟件在UTF-8編碼中可以繼續(xù)正常工作。5.2.3字符串的表示在UTF-8編碼環(huán)境下,任何一個(gè)數(shù)字、英文字母、漢字都被按一個(gè)字符進(jìn)行對(duì)待和處理。s1
=
'湖北省武漢市'
#6個(gè)中文字符,長(zhǎng)度為6s2
=
'hubei'
#5個(gè)英文字符,長(zhǎng)度為5print(len(s1),
len(s2))
#len()是測(cè)試長(zhǎng)度函數(shù),輸出6
55.2.4字符串的遍歷字符串的遍歷是指用循環(huán)的方法依次獲取字符串中的每個(gè)字符,字符串遍歷的方法如下:string為需要遍歷的字符串變量c依次被賦值為字符串中的字符循環(huán)次數(shù)為字符串中字符個(gè)數(shù)forcinstring:#變量c依次取值為字符串中的字符語(yǔ)句塊5.7字符串加密實(shí)例說(shuō)明:在一行中輸入一個(gè)包括大小寫字母和數(shù)字的字符串,編程將其中的大寫字母用該字母后第4個(gè)字母替換,其他字符原樣輸出,實(shí)現(xiàn)字符串加密。思路:建立原字符序列和替換字符序列遍歷字符串,如果滿足大寫字母的條件,則將替換序列中對(duì)應(yīng)位置的字母進(jìn)行替換。實(shí)例5.7字符串加密實(shí)例def
encrypt_string(plaincode):
"""plaincode:輸入的明文字符串,返回加密后的字符串"""
p
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
#原字符序列
s
=
'EFGHIJKLMNOPQRSTUVWXYZABCD'
#替換字符序列,s=p[4:]+p[:4]
ciphertext
=
''
#空字符串,存放加密字符串
for
c
in
plaincode:
#遍歷輸入的明文字符串
n
=
p.find(c)
#返回c在p中的位置序號(hào),找不到時(shí)返回-1
if
n
==
-1:
#值為-1表示c在p中不存在,不是大寫字母
ciphertext
+=
c
#將原字符拼接到ciphertext上
else:
#c為大寫字母,用序列s中對(duì)應(yīng)位置的字母替換
ciphertext
+=
s[n]
#替換的字符拼接到ciphertext
return
ciphertext
#返回加密后的字符串輸入:LIFEisSHORT,youNEEDPYTHON輸出:PMJIisWLSVX,youRIIHTCXLSR5.2.5文件的遍歷應(yīng)用open()函數(shù)可以打開(kāi)一個(gè)文件并創(chuàng)建一個(gè)文件對(duì)象:filename是讀取的帶路徑和擴(kuò)展名的文件名mode為讀取模式參數(shù),值為“r”表示只讀取文件內(nèi)容,不修改文件,mode參數(shù)可省略,默認(rèn)值為只讀。with…as為上下文管理器file為讀取文件后創(chuàng)建的文件對(duì)象with
open('filename',
mode='r',
encoding
=
'utf-8')
as
file:5.2.5文件的遍歷訪問(wèn)文件數(shù)據(jù)常用方法:用文件對(duì)象的readline()方法和read()方法讀取其中的數(shù)據(jù)。對(duì)文件對(duì)象進(jìn)行遍歷,逐行輸出其內(nèi)容。用遍歷文件對(duì)象的方法時(shí),文件的每一行被作為一個(gè)字符串處理。在每行的行末,有一個(gè)隱藏的換行符“\n”,它會(huì)被作為字符串的一部分。輸出時(shí),字符串中的“\n”會(huì)被解析為一次換行。for
line
in
file:#file為文件對(duì)象,循環(huán)次數(shù)為文件的行數(shù),
語(yǔ)句塊
變量line每次被賦值為文件的一行5.8遍歷輸出文件實(shí)例說(shuō)明:有一個(gè)文本文件“靜夜思.txt”,編碼為“utf-8”,文件內(nèi)容如下,編程讀取文件的內(nèi)容:靜夜思床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。實(shí)例5.8遍歷輸出文件實(shí)例with
open('靜夜思.txt',
'r',
encoding='utf-8')
as
poem:
for
line
in
poem:
#對(duì)文件對(duì)象poem進(jìn)行逐行遍歷
print(line)
#每次循環(huán)輸出文件中的一行內(nèi)容用print()函數(shù)對(duì)其進(jìn)行輸出時(shí),行末的換行符“\n”會(huì)被解析為一個(gè)換行,導(dǎo)致輸出的每一行數(shù)據(jù)后有一個(gè)空行存在??梢杂胷eplace()函數(shù)替換掉行末的換行符,或用rstrip()函數(shù)去掉行末的空白字符,使輸出時(shí)不出現(xiàn)多余的空行。這里涉及replace()和rstrip()方法,這是字符串的操作方法,在本章后面會(huì)有詳細(xì)講述。5.2.6字符串處理方法方法名描述str.upper()/str.lower()轉(zhuǎn)換字符串str中所有字母為大寫/小寫str.strip()用于移除字符串開(kāi)頭、結(jié)尾指定的字符(缺省時(shí)去掉空白字符,包括\t、\n、\r、\x0b、\x0c等)str.join(iterable)以字符串str作為分隔符,將可迭代對(duì)象iterable中字符串元素拼接為一個(gè)新的字符串。當(dāng)iterable中存在非字符串元素時(shí),觸發(fā)TypeError異常。str.split(sep=None,maxsplit=-1)根據(jù)分隔符sep將字符串str切分成列表,缺省時(shí)根據(jù)空格切分,可指定逗號(hào)或制表符等。Maxsplit值存在且非-1時(shí),最多切分maxsplit次。str.count(sub[,start[,end]])返回sub
在字符串str里面出現(xiàn)的次數(shù),如果start或者end指定則返回指定范圍內(nèi)sub出現(xiàn)的次數(shù)。5.2.6字符串處理方法方法名描述str.find(sub[,start[,end]])檢測(cè)sub
是否包含在字符串str
中,如果是返回開(kāi)始的索引值,否則返回-1。如果start和end指定范圍,則檢查是否包含在指定范圍內(nèi)。str.replace(old,new[,count])把字符串str中的old
替換成
new,如果count指定,則替換不超過(guò)count次,否則有多個(gè)old子串時(shí)全部替換為new。str.index(sub[,start[,end]])與find()方法一樣,返回子串存在的起始位置,如果sub不在字符串str中會(huì)觸發(fā)一個(gè)異常。for
<var>
in
<string>對(duì)字符串string進(jìn)行遍歷,依次將字符串string中的字符賦值給前面的變量var5.2.6字符串處理方法str.upper()和str.lower()分別用于將其前面的字符串轉(zhuǎn)換成大寫字母和小寫字母,如input().upper()可以將用戶輸入的字符串中的小寫字母都轉(zhuǎn)換成大寫字母。例如,網(wǎng)頁(yè)上經(jīng)??梢钥吹捷斎腧?yàn)證碼時(shí)是不區(qū)分大小寫的,其后臺(tái)的程序一般會(huì)將用戶的輸入和圖片中的字符都統(tǒng)一轉(zhuǎn)成大寫字母(或統(tǒng)一轉(zhuǎn)成小寫字母),再去一一比較是否一致。5.2.6字符串處理方法rstrip()和strip()函數(shù)rstrip()函數(shù)用于移除字符串結(jié)尾指定的字符strip()函數(shù)用于移除字符串開(kāi)頭和結(jié)尾指定的字符。當(dāng)參數(shù)缺省時(shí),默認(rèn)去掉字符串首尾的空白字符(不可見(jiàn)字符),包括"\t
(制表符)"、"\n
(換行符)"和"\r
(回車符)"等。s
=
'0089840'print(s)
#原字符串0089840s1
=
s.rstrip('0')
#移除結(jié)尾的0print(s1)
#008984s2
=
s.strip('0')
#去除字符串首尾0print(s2)
#89845.9隱私信息脫敏實(shí)例說(shuō)明:手機(jī)號(hào)屬于個(gè)人隱私信息,編程將用戶輸入的手機(jī)號(hào)的4-7位用“*”替換。輸入格式為:11位數(shù)字的手機(jī)號(hào)碼,如思路:可以使用字符串切片,取出保留的數(shù)字,再加上星號(hào),重新進(jìn)行拼接也可以使用replace()方法,將4-7位的字符串替換為星號(hào)實(shí)例5.9隱私信息脫敏實(shí)例def
mask_phone_number(phone_number):
"""將手機(jī)號(hào)的4-7位用“*”替換,phone_number:11位數(shù)字的手機(jī)號(hào)碼
返回替換后的手機(jī)號(hào)碼或出錯(cuò)信息
"""
if
len(phone_number)
!=
11
or
not
phone_number.isdigit():
return
"請(qǐng)輸入11位數(shù)字的手機(jī)號(hào)碼"
return
phone_number[:3]
+
"****"
+
phone_number[7:]
phone_number
=
input("請(qǐng)輸入11位數(shù)字的手機(jī)號(hào)碼:")masked_phone_number
=
mask_phone_number(phone_number)print(masked_phone_number)
字符串拼接5.9隱私信息脫敏實(shí)例info
=
input()
#輸nfoPvt1
=
info.replace(info[3:7],
'****')
#直接將字符串第3-6這4個(gè)字符進(jìn)行替換infoPvt2
=
info.replace(info[3:7],
'****',
1)
#僅替換1次print(infoPvt1)
#139********print(infoPvt2)
#139****4321
replace()方法若不指定替換次數(shù),當(dāng)字符串中有與需替換的字符串相同的子串時(shí),也會(huì)被替換掉,當(dāng)輸入時(shí),輸出將變成“139********”。若替換的子串與其他位置的子串相同,也會(huì)有問(wèn)題,例如輸入,會(huì)輸出“****32****1”。使用切片拼接方法最為穩(wěn)妥。5.10凱撒密碼實(shí)例說(shuō)明:在密碼學(xué)中,愷撒密碼是一種最簡(jiǎn)單且最廣為人知的加密技術(shù)。這是一種替換加密的技術(shù),明文中的所有字母都在字母表上向后(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移后被替換成密文。例如,當(dāng)偏移量是3的時(shí)候,所有的字母A將被替換成D,B變成E,以此類推。輸入一個(gè)字符串明文,再輸入一個(gè)正整數(shù),代表偏移量,用愷撒密碼對(duì)明文進(jìn)行加密后輸出。實(shí)例5.10凱撒密碼實(shí)例import
string
def
caesar_cipher(plaintext,
shift):
"""愷撒加密,plaintext:輸入的明文字符串,shift:偏移量,返回加密后的密文字符串"""
lower
=
string.ascii_lowercase
#小寫字母
upper
=
string.ascii_uppercase
#大寫字母
before
=
string.ascii_letters
#全部大小寫字母
after
=
lower[shift:]
+
lower[:shift]
+
upper[shift:]
+
upper[:shift]
table
=
str.maketrans(before,
after)
#創(chuàng)建映射表
return
plaintext.translate(table)
#返回加密后的密文字符串輸入明文:Membershiptestoperations輸入偏移量:3輸出密文:Phpehuvklswhvwrshudwlrqv5.11模擬登錄驗(yàn)證碼實(shí)例說(shuō)明:使用Python來(lái)模擬一個(gè)簡(jiǎn)單的驗(yàn)證碼系統(tǒng),驗(yàn)證碼顯示為隨機(jī)生成的字符序列,用戶需要正確輸入該驗(yàn)證碼才能通過(guò)驗(yàn)證。程序功能要求:生成一個(gè)隨機(jī)驗(yàn)證碼。顯示驗(yàn)證碼,要求用戶輸入。驗(yàn)證用戶的輸入是否正確。如果輸入錯(cuò)誤,允許用戶多次嘗試。實(shí)例5.11模擬登錄驗(yàn)證碼思路:使用random和string模塊來(lái)生成一個(gè)包含字母和數(shù)字的隨機(jī)驗(yàn)證碼。使用string.ascii_letters獲取所有大小寫字母,使用string.digits獲取數(shù)字0-9,并將兩個(gè)字符串拼接為一個(gè)字符串。使用random.choice()隨機(jī)選擇字符,生成指定長(zhǎng)度的驗(yàn)證碼。[random.choice(characters)foriinrange(length)]的作用是重復(fù)length次隨機(jī)選取字符,''.join()的作用是將參數(shù)序列中的字符元素拼接為一個(gè)字符串。實(shí)例5.11模擬登錄驗(yàn)證碼實(shí)例import
randomimport
string
def
generate_captcha(length=6):
"""生成字母和數(shù)字組成的隨機(jī)驗(yàn)證碼,length:驗(yàn)證碼的長(zhǎng)度默認(rèn)為6,返回生成的驗(yàn)證碼"""
#字符庫(kù):大寫字母、小寫字母和數(shù)字
characters
=
string.ascii_letters
+
string.digits
#隨機(jī)選擇length個(gè)字符并連接為一個(gè)字符串
captcha
=
''.join([random.choice(characters)
for
i
in
range(length)])
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職(園林技術(shù))園林設(shè)計(jì)階段測(cè)試題及答案
- 多組學(xué)技術(shù)在精準(zhǔn)醫(yī)學(xué)中的技術(shù)演進(jìn)趨勢(shì)
- 2026年情緒療愈民宿項(xiàng)目商業(yè)計(jì)劃書
- 2026年智能降噪麥克風(fēng)項(xiàng)目投資計(jì)劃書
- 2026年青少年AI素養(yǎng)教育項(xiàng)目評(píng)估報(bào)告
- 2025年中職攝影攝像技術(shù)(攝影構(gòu)圖技巧)試題及答案
- 2026年智能開(kāi)關(guān)面板項(xiàng)目公司成立分析報(bào)告
- 2025年中職第一學(xué)年(環(huán)境治理技術(shù))廢水處理階段測(cè)試題及答案
- 2025年大學(xué)新聞學(xué)(新聞評(píng)論研究)試題及答案
- 2025年中職第一學(xué)年(市場(chǎng)營(yíng)銷)市場(chǎng)調(diào)研與分析試題及答案
- 《電力建設(shè)安全工作規(guī)程》-第1部分火力發(fā)電廠
- 2024全國(guó)職業(yè)院校技能大賽ZZ060母嬰照護(hù)賽項(xiàng)規(guī)程+賽題
- 回顧性臨床研究的設(shè)計(jì)和分析
- 配電一二次融合技術(shù)的發(fā)展應(yīng)用
- 鋼板鋪設(shè)安全施工方案
- 八年級(jí)物理上冊(cè)期末測(cè)試試卷-附帶答案
- 硬件設(shè)計(jì)與可靠性
- 小學(xué)英語(yǔ)五年級(jí)上冊(cè)Unit 5 Part B Let's talk 教學(xué)設(shè)計(jì)
- 垃圾滲濾液處理站運(yùn)維及滲濾液處理投標(biāo)方案(技術(shù)標(biāo))
- 經(jīng)緯度叢書 秦制兩千年:封建帝王的權(quán)力規(guī)則
- ppt素材模板超級(jí)瑪麗
評(píng)論
0/150
提交評(píng)論