




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python語言程序設計PythonLanguageProgramming1計算機科學基礎什么是計算機計算的概念計算的發(fā)展計算的分類現(xiàn)代電子計算機數(shù)據表示二進制數(shù)據計算機中的數(shù)據算法什么是算法排序算法程序什么是程序程序設計的方法簡單示例什么是計算機計算的概念計算的發(fā)展計算的分類現(xiàn)代電子計算機計算的概念從一般情況看,計算應是依據一定的法則對有關符號串的變換過程在計算機領域中,計算是計算機對數(shù)據進行操作(或處理)的過程計算的發(fā)展時間段階段特點1990s~1940s打卡階段(TheTabulatingEra)機械式1950s~現(xiàn)在編程階段(TheProgrammingEra)自主輸入2011~將來認知計算階段(TheCognitiveEra)自動思考表1計算的發(fā)展計算的分類DNA計算量子計算社會計算計算法律學現(xiàn)代電子計算機世界上第一臺計算機誕生于1946年2月從總體上,計算機可分為模擬計算機和數(shù)字計算機,現(xiàn)代我們使用的是后者現(xiàn)代計算機的主要特征來源于通用圖靈機,主要構成來源于馮諾依曼理論,包含五大部分:存儲器、控制器、運算器、輸入和輸出?,F(xiàn)代計算機由邏輯電路組成,最基本的邏輯電路為門電路,它通常只有兩個狀態(tài):開和關。數(shù)據表示二進制數(shù)據計算機中的數(shù)據二進制數(shù)據
計算機中普遍采用二進制,一方面由計算機的組成特點決定,另一方面是由二進制計算的特點所決定。計算機中的數(shù)據在計算機中,數(shù)據是指所有能輸入到計算機并被計算機程序處理的符號的介質的總稱,是用于輸入電子計算機進行處理,具有一定意義的數(shù)字、字母、符號和模擬量等的通稱。在計算機中,數(shù)據是指所有能輸入到計算機并被計算機程序處理的符號的介質的總稱,是用于輸入電子計算機進行處理,具有一定意義的數(shù)字、字母、符號和模擬量等的通稱。算法什么是算法排序算法什么是算法算法(Algorithm)是指解決一個問題的準確而完整的描述算法代表著用系統(tǒng)的方法描述解決問題的策略和過程排序算法用Python實現(xiàn)冒泡排序importrandomunsortedList=[]#generateanunsortedlistdefgenerateUnsortedList(num):foriinrange(0,num):unsortedList.append(random.randint(0,100))print(unsortedList)#冒泡排序defbubbleSort(unsortedList):list_length=len(unsortedList)foriinrange(0,list_length-1):forjinrange(0,list_length-i-1):ifunsortedList[j]>unsortedList[j+1]:unsortedList[j],unsortedList[j+1]=unsortedList[j+1],unsortedList[j]returnunsortedList
generateUnsortedList(20)print(bubbleSort(unsortedList))程序什么是程序程序設計的方法簡單示例什么是程序程序是計算機可執(zhí)行的指令集合程序的本質是邏輯演繹的形式化表達區(qū)別于算法,程序的執(zhí)行時間和指令執(zhí)行次數(shù)是有限的。比如操作系統(tǒng),就是一個在無限循環(huán)中執(zhí)行的程序。程序設計的方法結構化程序設計自頂向下,逐步求精三種基本控制結構(順序、選擇、循環(huán))程序設計的方法面向對象程序設計數(shù)據抽象的概念可以在保持外部接口不變的情況下改變內部實現(xiàn),從而減少甚至避免對外界的干擾通過繼承大幅減少冗余的代碼,并可以方便地擴展現(xiàn)有代碼,提高編碼效率,也減低了出錯概率,降低軟件維護的難度結合面向對象分析、面向對象設計,允許將問題域中的對象直接映射到程序中,減少軟件開發(fā)過程中中間環(huán)節(jié)的轉換過程通過對對象的辨別、劃分可以將軟件系統(tǒng)分割為若干相對為獨立的部分,在一定程度上更便于控制軟件復雜度簡單示例輸入三個變量,按小到大順序輸出x=int(input('pleaseinputx:'))y=int(input('pleaseinputy:'))z=int(input('pleaseinputz:'))ifx>y:x,y=y,xifx>z:x,z=z,xify>z:y,z=z,yprint(x,y,z)小結計算機數(shù)據表示算法程序Python語言程序設計PythonLanguageProgramming2
Python入門Python簡介安裝Python運行PythonPython解釋器常用的第三方編輯器PyCharm的下載和安裝介紹Python簡介Python的起源Python語言的特點Python的應用Python的起源圖2-1Python之父Python的起源圖2-2TIOBE發(fā)布的9月份的編程語言排行榜Python語言的特點面向對象完全的面向對象特性,完全支持繼承、重載、派生、多重繼承,有益于增強代碼的復用性易于學習關鍵字較少,簡潔,有一系列開源生態(tài),源代碼和解釋器都遵循GPL協(xié)議穩(wěn)健性異常處理機制交互模式交互型解釋器Python語言的特點跨平臺性Windows、UNIX、macOS、Linux可擴展性輕松調用其他語言如C、C++、Java編寫的擴充模塊豐富的庫強大的標準庫和活躍的生態(tài)環(huán)境GUI編程提供了多個圖形開發(fā)界面的庫Python的應用Web程序GUI開發(fā)操作系統(tǒng)科學計算安裝Python(以Python3.5為例)在Windows7系統(tǒng)中安裝Python在macOSX系統(tǒng)中安裝Python在Ubuntu系統(tǒng)中安裝Python在Windows7系統(tǒng)中安裝PythonPython官網/downloads/windows/下載安裝包執(zhí)行安裝包中的exe文件勾選“AddPython3.5toPATH”,點擊“InstallNow”在Windows控制臺中輸入python,若出現(xiàn)以下提示,則說明已正確安裝。圖2-3在Windows控制臺中運行Python在macOSX系統(tǒng)中安裝PythonPython官網/downloads/mac-osx/下載安裝包執(zhí)行安裝包中的exe文件在終端中輸入python3,即可啟動python3的交互模式。注:不要刪除系統(tǒng)原生安裝的Python2.X圖2-4Python3交互模式在Ubuntu系統(tǒng)中安裝Python一般在Linux的Ubuntu系統(tǒng)初始化安裝完成后,自帶Python編譯與解釋器環(huán)境,可在Terminal中輸入python進行驗證若未安裝,則在Terminal下輸入以下指令完成安裝:sudoapt-getinstallpython3將默認Python環(huán)境修改為Python3,即輸入以下指令:sudorm/usr/bin/pythonsudoln-s/usr/bin/python3.5/usr/bin/python圖2-5修改默認Python環(huán)境為3.X版本注:不要刪除系統(tǒng)原生安裝的Python2.X運行Python進行指令交互操作運行Python腳本Python解釋器CPythonPyPyJythonIronPythonIPython常用的第三方編輯器IDLESublimeTextPyCharmEclipseVimAnacondaPyCharm的下載和安裝介紹小結Python簡介安裝Python運行PythonPython解釋器常用的第三方編輯器PyCharm的下載和安裝介紹Python語言程序設計PythonLanguageProgramming3編程基礎
通過蒙特卡羅方法計算圓周率π的值
通過蒙特卡羅方法計算圓周率π的值【參考代碼】importnumpyasnp#引入第三方庫numpyimportmatplotlib.pyplotasplt#引入第三方庫matplotlibfrommatplotlib.patchesimportCircle#投點次數(shù)n=1000#設置圓的屬性,半徑為1radius=1.0#設置半徑a,b=(0.,0.)#圓心位置坐標#正方形位置屬性設置,邊長為2x_left,x_right=a-radius,a+radiusy_down,y_up=b-radius,b+radius#在正方形區(qū)域內隨機投點x=np.random.uniform(x_left,x_right,n)#從一個均勻分布[x_left,x_right)中隨機采樣,生成n個樣本點的橫坐標y=np.random.uniform(y_down,y_up,n)#從一個均勻分布[y_down,y_up)中隨機采樣,生成n個樣本點的縱坐標#計算點到圓心的距離dis=np.sqrt((x-a)**2+(y-b)**2)#平方根運算,計算點(x,y)到圓心的距離,返回距離數(shù)組dis#統(tǒng)計落在圓內的點的數(shù)目points_in=sum(np.where(dis<=radius,1,0))#數(shù)組dis中滿足與圓心距離小于等于1的,返回1,否則返回0,累加至res中#計算pi的近似值(MonteCarlo方法的精髓:用統(tǒng)計值去近似真實值,統(tǒng)計值越大,越逼近真實值)pi=4*points_in/nprint('pi的值約為:',pi)#可視化fig=plt.figure()ax=fig.add_subplot(111)#構建1*1的網格圖,其中有一個子圖ax.plot(x,y,'ro',color='red',markersize=1)plt.axis('equal')#保持作圖時正方形的邊長相等,否則會變形circle=Circle(xy=(a,b),radius=radius,alpha=0.8)ax.add_patch(circle)plt.show()通過蒙特卡羅方法計算圓周率π的值散落點的數(shù)量n的值不同,統(tǒng)計計算所得的值也不同:n的取值統(tǒng)計計算得出的值約為10003.0921000031379610000003.143612100000003.1413232表3-1不同散落點的數(shù)量,統(tǒng)計得出不同的值變量和常量變量數(shù)據常量變量即用即命名,不需要事先指定變量的類型,也可以賦值不同類型的數(shù)據,不會發(fā)生溢出。圖3-1變量和命名空間變量的命名規(guī)則標識符對大小寫敏感,不能與保留字相同;變量名必須以下劃線或字母開頭,而后面接任意數(shù)目的字母、數(shù)字或下劃線。不能使用空格。以下是合法命名的標識符:its_name_,_its_name_is_xx_;名稱中的字母區(qū)分大小寫,如its_name和Its_name是不同的;變量的名稱要有意義,要能夠代表變量的含義,比如表示半徑的變量名稱可以這樣起:radiusNum或radius_num;禁止使用Python保留字。Python的保留字見表3-2變量的命名規(guī)則andelifimportraiseaselseinreturnassertexceptistrybreakfinallylambdawhileclassfornotwithcontinuefromordefglobalpassdelifprint表3-2Python保留字數(shù)據數(shù)據是指所有能輸入到計算機并被計算機程序處理的符號的介質的總稱是用于輸入電子計算機進行處理,具有一定意義的數(shù)字、字母、符號和模擬量等的通稱數(shù)據是信息的表現(xiàn)形式和載體,可以是符號、文字、數(shù)字、語音、圖像、視頻等信息量化到數(shù)字化,一般稱為“嵌入”(embedding)常量通常把程序中不發(fā)生變化的元素叫做常量,與變量進行區(qū)別python沒有定義常量的保留字python中定義常量需要用自定義類的方法來創(chuàng)建運算和表達式常用的運算表達式常用的運算算術運算算術運算包括數(shù)學中常見的運算,如加、減、乘、除、乘方和開方等所有的運算都需要預先對變量進行賦值,否則報錯支持不同的數(shù)字類型相加(數(shù)字類型強制轉換),整數(shù)→浮點數(shù),非復數(shù)→復數(shù)。規(guī)則:簡單→復雜常用的運算下表展示Python的算數(shù)運算符,變量預先賦值x=10,y=3算數(shù)運算符運算描述實例+加法x+y結果為13-減法x-y結果為13*乘法x*y結果為30/除法x/y結果為3.3333…..**冪運算x**y的結果是1000//返回商的整數(shù)部分x//y的結果是3%返回余數(shù)部分x%y的結果為1(余數(shù))=賦值運算x=10,將10賦值給變量x+=加法賦值運算x+=10的運算結果是x=20,等效于x=x+10-=減法賦值運算x-=10的運算結果是x=0,等效于x=x-10*=乘法賦值運算x*=10的運算結果是100,等效于x=x*10/=除法賦值運算x/=10的運算結果是1.0,等效于x=x/10表3-3Python中的算數(shù)運算常用的運算關系運算傳統(tǒng)的關系運算包括集合運算(并、差、交等),專門的關系運算包括選擇、投影、連接、除法、外連接等關系表達式的值只有真True和假False常用的運算下表展示Python的關系運算符,變量預先賦值x=10,y=20運算符描述示例==如果兩個操作數(shù)的值相等,則條件為真。(x==y)求值結果為false!=如果兩個操作數(shù)的值不相等,則條件為真。(x!=y)求值結果為true>如果左操作數(shù)的值大于右操作數(shù)的值,則條件成為真。(x>y)求值結果為false<如果左操作數(shù)的值小于右操作數(shù)的值,則條件成為真。(x<y)求值結果為true>=如果左操作數(shù)的值大于或等于右操作數(shù)的值,則條件成為真。(x>=y)求值結果為false<=如果左操作數(shù)的值小于或等于右操作數(shù)的值,則條件成為真。(x<=y)求值結果為true表3-4Python中的關系運算常用的運算邏輯運算邏輯運算又稱布爾運算,用等式表示判斷,把推理看作等式的變換邏輯運算中包括與運算、或運算和非運算三種基本的邏輯運算邏輯運算的結果也只有真True和假False常用的運算下表展示Python的邏輯運算符,變量預先賦值x=10,y=20運算符描述示例and如果兩個操作數(shù)都為真,則結果為真(xandy)的結果為Falseor如果兩個操作數(shù)中的任何一個為真,則結果為真(xory)的結果為Truenot用于反轉操作數(shù)的邏輯狀態(tài)not(xandy)的結果為True表3-5Python中的邏輯運算常用的運算【例3-2】輸入學生的姓名,再輸入成績,根據給出的條件判斷成績的等級,最后打印輸出:某某的成績是什么等級。判斷標準:小于60分,F(xiàn)ail;60到70分,Pass;70到80分,Good;80到90分,Average;90到100分,Outstanding。常用的運算【參考代碼】name=input("Whatisyourname?")score=int(input("Whatisyourscore?"))ifscore<60:print("Hello,%s,yourgradesis'Fail'"%name)elifscore>=60andscore<70:print("Hello,%s,yourgradesis'Pass'"%name)elifscore>=70andscore<80:print("Hello,%s,yourgradesis'Average'"%name)elifscore>=80andscore<90:print("Hello,%s,yourgradesis'Good'"%name)elifscore>=90andscore<=100:print("Hello,%s,yourgradesis'Outstanding'"%name)else:print("Yourinputisincorrect.")常用的運算成員運算一般用來判斷某一元素是否在一個指定的序列對象中,其返回值為布爾值運算符描述示例in若某一元素在一個指定的序列中,則返回True,否則返回False>>>x=10>>>L=[1,2,3.4]>>>xinLFalsenotin若某一元素不在一個指定的序列中,則返回True,否則返回False>>>x='10'>>>s='abcdefg'>>>xnotinsTrue表3-6Python中的成員運算常用的運算【例3-3】有一個列表L=[1,2,3,4,5,6,7,1,2,3,4,5,6,7],要求去掉其中重復的元素。【參考代碼】>>>L=[1,2,3,4,5,6,7,1,2,3,4,5,6,7]>>>L1=[]>>>forxinL: ifxnotinL1: L1.append(x)>>>L1【輸出結果】[1,2,3,4,5,6,7]常用的運算身份運算用來判斷兩個變量是否指向同一對象,或者某一對象是否在一個序列中常用的運算下表展示Python的身份運算符運算符描述示例is判斷兩個變量是否指向同一個對象,返回值為True和False>>>a=1>>>b=1>>>aisbTrue>>>b=2>>>aisbFalse>>>b=a>>>aisbTrue>>>id(a)502515440>>>id(b)502515440isnot判斷兩個變量是否沒有指向同一個變量,返回值為True和False>>>a=1>>>b=2>>>aisnotbTrue表3-7Python中的身份運算表達式表達式是運算符和操作數(shù)所構成的序列用算數(shù)運算符連接起來的表達式叫做算數(shù)表達式,如a+b用關系運算符連接起來的表達式叫做關系表達式,如a<b用邏輯運算符連接起來的表達式叫做邏輯表達式,如aandb運算順序:算數(shù)運算表達式>關系運算表達式>邏輯運算表達式Python相關基礎語法空格注釋空格一般是四個空格或者一個Tab鍵的距離,且不要混用if、elif、else、while等引導的語句都有縮進,Pyhon的縮進用來表示分段,類同C語言的{}從可讀性的角度考慮,一般關鍵詞、逗號的后面會加一個空格,如>>>print('score',90*0.3+81*0.7)score83.69999999999999>>>print('score',
90*0.3+81*0.7)
#這樣看起來更好一些score83.69999999999999注:以上的空格無語法含義注釋提高程序的可閱讀性和可理解性源程序的有效注釋在20%以上,不宜太多,也不宜過少。通常,函數(shù)頭部、源文件頭部、標志性變量等均需要標注明確的注釋,以便于代碼的閱讀單行注釋#多行注釋
三引號常用的運算【例3-4】利用泰勒級數(shù)計算e的近似值。whileabs(term)>1e-5:term=term/ne=e+termn=n+1count+=1endtime=time.perf_counter()print("e=%f,運行次數(shù):%d次"%(e,count))print("運行耗時"+str(endtime-starttime)+"s")【參考代碼】'''利用泰勒級數(shù)計算e的近似值,當最后一項的絕對值小于時認為達到了精度要求,要求統(tǒng)計總共累加了多少項并輸出程序的總運行時間。'''importtimestarttime=time.perf_counter()n=1count=1term=1.0e=0random庫Python中用來產生隨機數(shù)的標準庫,使用的時候需要引用importrandom或fromrandomimport*。類別函數(shù)功能說明基本隨機函數(shù)
seed(a=None)改變隨機數(shù)生成器的種子,在調用其他隨機模塊之前調用該函數(shù),可固定生成同一個隨機數(shù)。random()隨機生成一個[0.0,1.0]區(qū)間的小數(shù)擴展隨機函數(shù)
randint(a,b)隨機生成一個[a,b]區(qū)間的整數(shù)getrandbits(k)隨機生成一個k比特(bit)長度的整數(shù)randrange(start,stop[,step])隨機生成一個[start,stop)區(qū)間,步長為step的整數(shù)uniform(a,b)隨機生成一個[a,b]區(qū)間的小數(shù)choice(seq)隨機返回序列類型中的一個元素shuffle(seq)隨機排列序列中的元素,并返回打亂順序后的原序列,即不會生成新的序列表3-8random庫常用函數(shù)random庫【例3-5】random庫中常見函數(shù)的使用。>>>randrange(1,20,3)#隨機生成一個1-20之間,步長為3的整數(shù)7>>>uniform(2,3)#隨機生成一個2-3之間的小數(shù)2.076089346781348>>>choice([1,2,3,4,5,6,7,8,9])#隨機選中列表序列中的一個元素并返回6>>>shuffle([1,2,3,4,5,6,7,8,9])#隨機將列表中的元素亂序>>>x=shuffle([1,2,3,4,5,6,7,8,9])>>>x>>>print(shuffle([1,2,3,4,5,6,7,8,9]))#由于亂序而不會生成新的列表,因此沒有任何返回值None>>>y=[1,2,3,4,5,6,7,8,9]#隨機亂序原有的列表序列>>>shuffle(y)>>>y[1,7,9,6,2,3,8,5,4]
【參考代碼】>>>fromrandomimport*#引用random庫>>>random()#生成0-1的隨機小數(shù)0.005971912566784976>>>seed(10)#設置隨機生成器的種子為10,然后再生成隨機數(shù)>>>random()0.5714025946899135>>>seed(10)#再次設置隨機生成器的種子為10,生成和上次一樣的隨機數(shù)>>>random()0.5714025946899135>>>random()#沒有設置隨機生成器的種子,則生成不同的隨機數(shù)0.4288890546751146>>>forxinrange(10):#隨機生成1-100之間的10個整數(shù) print(randint(1,100),end='')742276063368421567>>>getrandbits(3)#隨機生成一個3bit的整數(shù)3random庫【例3-6】隨機游走(randomwalk)也稱隨機漫步,隨機行走等是指基于過去的表現(xiàn),無法預測將來的發(fā)展步驟和方向。核心概念是指任何無規(guī)則行走者所帶的守恒量都各自對應著一個擴散運輸定律,接近于布朗運動,是布朗運動理想的數(shù)學狀態(tài),現(xiàn)階段主要應用于互聯(lián)網鏈接分析及金融股票市場中[引自“百度百科”中“隨機漫步”詞條。]。隨機游走對于股市而言指股價的短期變動不可預測,各種投資咨詢服務、收益預測和復雜的圖形都毫無用處?,F(xiàn)在,隨機游走理論已發(fā)展成三種形式:強式、半強式、弱式。要求:模擬一維的1000步的隨機游走,從0開始,步長為1和-1,且以相等的概率出現(xiàn)。random庫【參考代碼】importrandomimportmatplotlib.pyplotaspltposition=0#設置初始位置為0walk=[]#新建空列表,用來存儲隨機游走的步長及方向steps=1000#設置步數(shù)foriinrange(steps):ifrandom.randint(0,1):#randint()隨機生成[0,1]之間的整數(shù),不是0就是1step=1else:step=-1#每步向前一步或者向后一步position=position+step#在原有位置position的基礎上,計算下一步是前進還是后退walk.append(position)#將position添加至列表walk中#print(walk)fig=plt.figure()#生成繪圖窗口ax=fig.add_subplot(111)#返回一個ax對象,參數(shù)111表示生成一個1行1列的窗口,在第1個窗口進行繪圖ax.plot(walk)#以列表walk中的數(shù)據繪制圖形plt.show()#顯示圖形【運行結果】【參考代碼】
【運行結果】importrandomimportmatplotlib.pyplotaspltn=1000total=0forxinrange(n):total=total+random.randint(0,1)p=total/nprint(p)random庫【例3-7】在例3-6中,要求步長為1或者-1的概率是相同的,在代碼中,產生步長正負的條件表達式為random.randint(0,1),該表達式會在[0,1]區(qū)間隨機生成整數(shù)0或者1。要求:測試該表達式隨機生成1的概率值。小結
Python語言程序設計PythonLanguageProgramming4語句和控制結構引例基本語句及順序結構語句條件語句while循環(huán)for循環(huán)轉移語句引例【例4-1】計算1-n之內能被3整除的數(shù)字之和,通過鍵盤輸入n的值,最后顯示輸出計算結果。【參考代碼】sum=0n=int(input('計算1-n之內能被3整除的數(shù)字之和,請輸入n的值'))foriinrange(n+1):ifi%3==0:sum=sum+iprint('1-%d之內能被3整除的數(shù)字之和是%d'%(n,sum))基本語句及順序結構語句輸入輸出語句賦值語句順序結構語句輸入輸出語句input輸入語句<變量>=input(<提示性文字>)通過input語句輸入的值,默認為字符串屬性字符串無法進行運算,需要用int()函數(shù)轉換為整數(shù)形式print語句多種形式print語句用來輸出字符信息,也可以以字符形式輸出變量,支持格式化輸出輸入輸出語句符號描述符號描述%c字符及其ASCII碼%s字符串%d整數(shù)%u無符號整型%o無符號八進制數(shù)%x無符號十六進制%f浮點數(shù)%e科學計數(shù)法浮點數(shù)表4.1python常用字符串格式化符號輸入輸出語句【例4-2】從鍵盤中輸入兩個數(shù),并輸出這兩個數(shù)的平均值?!緟⒖即a】a=float(input('請輸入第一個數(shù)值'))#float()函數(shù)將輸入的字符串轉換為浮點數(shù)b=float(input('請輸入第二個數(shù)值'))average=(a+b)/2print('輸入的兩個數(shù)的平均值是%f'%average)賦值語句【例4-3】變量a賦值為4,變量b賦值為5,交換變量a和b的值,最后為b的值加1。【參考代碼】>>>a=4>>>b=5>>>a,b=b,a>>>print(a)5>>>print(b)4>>>b=b+1>>>print(b)5賦值語句同步賦值語句<變量1>,...,<變量N>=<表達式1>,...,<表達式N>>>>a,b=3,4#多目標賦值>>>a3>>>b4>>>[x,y]=['abc','ECUPL']#列表賦值>>>x'abc'>>>y'ECUPL'>>>x,y=['abc','ECUPL']>>>x'abc'>>>y'ECUPL'順序結構語句順序結構按照書寫順序依次執(zhí)行選擇結構根據特定的情況,有選擇地執(zhí)行某些語句循環(huán)結構在給定條件下往復執(zhí)行某些語句條件語句基本的if語句else語句elif語句基本的if語句if語句的語法形式if表達式:語句體基本的if語句【例4-4】用戶輸入一個整數(shù),如果這個數(shù)字大于6,那么就輸出一行字符串;否則,直接退出程序?!緟⒖即a】integer=input('請輸入一個整數(shù):')#取得一個字符串integer=int(integer)#將字符串轉換為整數(shù)ifinteger>6:print('%d大于6'%integer)else語句if語句的語法形式if表達式:語句體1else:語句體2else語句【例4-5】用戶輸入一個整數(shù),如果這個數(shù)字大于6,那么就輸出一行信息,指出輸入的數(shù)字大于6;否則,輸出另一行字符串,指出輸入的數(shù)字小于等于6?!緟⒖即a】integer=input('請輸入一個整數(shù):')#取得一個字符串integer=int(integer)#將字符串轉換為整數(shù)ifinteger>6:print('%d大于6'%integer)else:print('%d小于或等于6'%integer)elif語句elif語句的語法形式if表達式1:語句體1elif表達式2:語句體2……elif表達式m:語句體melse:語句體nelif語句【例4-6】用戶輸入一個整數(shù),如果這個數(shù)字大于6,那么就輸出一行信息,指出輸入的數(shù)字大于6;如果這個數(shù)字小于6,則輸出另一行字符串,指出輸入的數(shù)字小于6;否則,指出輸入的數(shù)字等于6?!緟⒖即a】integer=input('請輸入一個整數(shù):')#取得一個字符串integer=int(integer)#將字符串轉換為整數(shù)ifinteger>6:print('%d大于6'%integer)elifinteger<6:print('%d小于6'%integer)else:print('%d等于6'%integer)elif語句【例4-7】按照我國法律及相關解釋,盜竊公私財物價值一千元至三千元以上以及盜竊國有館藏一般文物,處三年以下有期徒刑(本例中僅看有期徒刑刑期);盜竊公私財物價值三萬元至十萬元以上以及盜竊國有館藏三級文物,處三年以上十年以下有期徒刑;盜竊公私財物價值三十萬元至五十萬元以上以及盜竊國有館藏二級以上文物,處十年以上有期徒刑或者無期徒刑。elif語句【參考代碼】theft_of_goods=input("請輸入盜竊物:一般文物、三級文物或者二級以上文物")theft_amount=int(input("請輸入盜竊金額"))level1=0level2=0level=0iftheft_amount>1000:level1=2eliftheft_amount>30000:level1=3eliftheft_amount>300000:level=4iftheft_of_goods=="一般文物":level2=2eliftheft_of_goods=="三級文物":level2=3eliftheft_of_goods=="二級以上文物":level2=4iflevel1>level2:level=level1else:level=level2iflevel==2:print("三年以下有期徒刑")eliflevel==3:print("三年以上十年以下有期徒刑")eliflevel==4:print("十年以上有期徒刑或者無期徒刑")else:print("予以治安處罰,拘留或罰款")elif語句【例4-8】模擬判斷用戶登錄信息。要求:當?shù)卿浀挠脩裘兔艽a全部正確時,顯示”歡迎登錄!”,否則顯示“用戶名或密碼信息不正確,請重新登錄!”。用戶名為admin,密碼值為password?!緟⒖即a】username=input("請輸入用戶名:")psword=input("請輸入密碼:")ifusername=="admin"
andpsword=="password":print("歡迎登錄!")else:
print("用戶名或密碼信息不正確,請重新登錄!")while循環(huán)while循環(huán)語句的一般語法計算循環(huán)無限循環(huán)引例【例4-9】修改例4-8,修改要求:在原有功能基礎上,增加驗證次數(shù)的功能。當用戶名或者密碼輸入錯誤時,無限次重新輸入而無需重新運行程序。【參考代碼】whileTrue:#條件表達式判斷一直為真username=input("請輸入用戶名:")psword=input("請輸入密碼:")ifusername=="admin"andpsword=="password":print("歡迎登陸!")else:print("用戶名或密碼輸入錯誤,請重試!")while循環(huán)語句的一般語法while語句的語法形式while表達式:循環(huán)體注縮進避免無限循環(huán)循環(huán)體不能為空while小寫while循環(huán)語句的一般語法【例4-10】打印輸出1到100之間的奇數(shù),并計算它們的和?!緟⒖即a】integer=1sum=0whileinteger<=100:ifinteger%2==1:print(integer,end='')sum=sum+integerinteger=integer+1print('')print("1到100之間所有奇數(shù)的和為:%d"%sum)計算循環(huán)【例4-11】修改例4-8,要求:若用戶輸入用戶名和密碼錯誤的次數(shù)超過3次,則顯示“該賬戶已鎖定,請聯(lián)系客服人員!”【參考代碼】count=0#計數(shù)器初始化whilecount<3:#計數(shù)器,設置循環(huán)執(zhí)行的最大次數(shù)username=input("請輸入用戶名:")psword=input("請輸入密碼:")ifusername=="admin"andpsword=="password":print("歡迎登陸!")break#當用戶名和密碼輸入正確時,退出循環(huán)else:print("用戶名或密碼輸入錯誤,請重試!")count=count+1print('該賬戶已鎖定,請聯(lián)系客服人員')計算循環(huán)【例4-12】要求從鍵盤輸入10個整數(shù),輸入完畢后,打印輸出十個數(shù)的平均值。【參考代碼】total=0#定義并初始化變量counter=1#初始化計數(shù)器whilecounter<=10:#讓用戶輸入10個整數(shù),并將其累加total=total+int(input('請輸入一個整數(shù):'))#該語句執(zhí)行了三個動作counter=counter+1#計算并輸出平均數(shù)print("您輸入的十個整數(shù)的平均值是:",float(total)/10)無限循環(huán)如果條件判斷語句永遠為True,循環(huán)將會無限的執(zhí)行下去。無限循環(huán)也稱為死循環(huán)。如:i=1whilei<10:print(i)可通過Ctrl+C組合鍵中斷循環(huán)或強制退出程序。一般要避免程序出現(xiàn)無限循環(huán)的情況。for循環(huán)一般語法range()函數(shù)一般語法for語句的語法形式for<控制變量>in<序列對象>: 循環(huán)體注for循環(huán)可以用來遍歷任何序列對象,如字符串、列表、字典、元組和集合等一般語法【例4-13】計算1-100中100個自然數(shù)的和,并打印輸出?!緟⒖即a】sum=0#初始化變量forxinrange(101):#range生產一個序列對象,默認從0開始print(x,end='')#end=''保證了數(shù)字不換行輸出sum=sum+x#每次循環(huán),將數(shù)字累加到sum中print('')print('1-100個自然數(shù)的和是:%d'%sum)一般語法【例4-14】計算1-1000中所有偶數(shù)的和與平均值,并打印輸出?!緟⒖即a】sum1=0#初始化counter=1average=0forxinrange(1,1001):#生成1至1000的序列ifx%2==0:#判斷x是否為偶數(shù)sum1=sum1+x#條件成立時,將x累加至sum中print(x,end='')#不換行輸出x,查看符合條件的數(shù)字xcounter=counter+1#x符合偶數(shù)條件時,計數(shù)器加1,統(tǒng)計偶數(shù)的個數(shù)print('1-1000中所有偶數(shù)的和是:%d'%sum1)average=sum1/counterprint('1-1000中所有偶數(shù)的平均值是:%f'%average)一般語法【例4-15】有學生計算機成績數(shù)據存放在列表score中,統(tǒng)計其平均值average?!緟⒖即a】>>>#方法一>>>score=[90,100,30,48,69,78,87,80,85,92,75]#列表中的元素為成績值>>>average=sum(score)/len(score)>>>average75.81818181818181>>>#方法二>>>sum1=0>>>forxinscore: sum1=sum1+x >>>average=sum1/len(score)>>>average75.81818181818181一般語法【例4-16】雞兔同籠問題。大約在1500年前,《孫子算經》中就記載了這個有趣的問題。書中是這樣敘述的:今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?這四句話的意思是:有若干只雞兔同在一個籠子里,從上面數(shù)有35個頭,從下面數(shù)有94只腳。求籠中各有幾只雞和幾只兔?【參考代碼】a=35b=94forxinrange(1,a):if2*x+4*(35-x)==b:print('雞有'+str(x)+'只','兔有'+str(35-x)+'只')一般語法【例4-17】“要、做、好、事”每一個文字都代表一個數(shù)字,試編寫代碼計算出符合如圖所示數(shù)學式子的“要、做、好、事”的值分別是多少?!緟⒖即a】list1=[0,1,2,3,4,5,6,7,8,9]list2=[1,2,3,4,5,6,7,8,9]forhinlist2:forsinlist1:forzinlist1:foryinlist2:if(h*100+s*10+h)+(y*100+z*10+h)==(y*1000+z*100+h*10+s):print(h,s,y,z)range()函數(shù)range()函數(shù)的語法形式range(start,stop[,step])其中,start指的是計數(shù)起始值,默認是0;stop指的是計數(shù)結束值,但不包括stop;step是步長,默認為1,不可以為0。range()函數(shù)生成一段左閉右開的整數(shù)范圍。range()函數(shù)range()函數(shù)的四點注意表示左閉右開的區(qū)間接收的參數(shù)必須是整數(shù),可以是負數(shù),但不能是浮點數(shù)等其它類型是不可變的序列類型,可以進行判斷元素、查找元素、切片等操作,但不能修改元素是可迭代對象,卻不是迭代器range()函數(shù)常見使用方法表示范圍是左閉右開區(qū)間,區(qū)間內可以定義范圍內數(shù)的間隔,當括號內只有一個數(shù)時表示從0開始>>>list(range(1,8,2))#步長為2,從1開始,等差為2的數(shù)列[1,3,5,7]>>>list(range(2,8))#默認步長為1[2,3,4,5,6,7]>>>list(range(8))#默認起始數(shù)字為0[0,1,2,3,4,5,6,7]range()函數(shù)常見使用方法表示負數(shù)步長可以為負,可以從小往大排>>>list(range(-8,-1))#可以表示負數(shù),從小往大排列[-8,-7,-6,-5,-4,-3,-2]>>>list(range(-1,-8))#默認步長為1,此時起始值要小于結束值[]>>>list(range(-8,-1,2))#設置步長值[-8,-6,-4,-2]>>>list(range(-1,-8,-2))#步長可以為負,負數(shù)從大到小排列[-1,-3,-5,-7]>>>list(range(8,1,-2))#步長可以為負,正數(shù)從大到小排列[8,6,4,2]>>>list(range(8,1,2))#設置步長為2,起始值要小于結束值[]range()函數(shù)常見使用方法循環(huán)出字符串或數(shù)組的每個單元>>>x='IloveECUPL'>>>foriinrange(len(x)):#輸出字符串中的每一個字符 print(x[i],end='/')
I//l/o/v/e//E/C/U/P/L/#運行結果>>>x=['I','love','ECUPL']#輸出列表中的每一個元素>>>foriinrange(len(x)): print(x[i],end='/')
I/love/ECUPL/#運行結果>>>foriinx:#輸出列表中的每一個元素 print(i,end='/')I/love/ECUPL/#運行結果一般語法【例4-18】國際國際乒聯(lián)將每局21分改成11分,是否會影響輸贏結果【參考代碼】importrandomcount=0probA=0.52forxinrange(1000):pointA=pointB=0whilepointA!=21andpointB!=21:ifrandom.random()<probA:pointA=pointA+1else:pointB=pointB+1ifpointA>pointB:count=count+1print(count/1000)?該程序只是測試了一局的勝率,要是五局三勝,或者三局兩勝,又該如何修改程序呢?轉移語句break語句continue語句pass語句break語句跳出整個循環(huán)結構,轉而執(zhí)行該循環(huán)結構后面的語句>>>L=[1,2,3,4,5,6,7,8,9]>>>forxinL: ifx==4: break#當列表中的值等于4時,退出整個循環(huán) else: print(x,end='') 123#運行結果break語句【例4-19】打印輸出兩位數(shù),要求個位上的數(shù)字小于等于十位上的數(shù)字,十位上數(shù)字相同的兩位數(shù)在同一行輸出,結果如圖所示.【參考代碼】forxinrange(1,10):foryinrange(10):ifx<y:print('')breakelse:print(10*x+y,end='')continue語句跳過循環(huán)體中在continue語句之后的所有語句,繼續(xù)下一輪循環(huán),不會立即結束本次循環(huán)>>>L=[1,2,3,4,5,6,7,8,9]>>>forxinL: ifx%2==0: continue#當列表中的元素是偶數(shù)時,跳出當次循環(huán),進行下一次 else: print(x,end='')pass語句pass語句什么也不做,即它是一個空操作應用于只是想讓程序循環(huán)一定次數(shù),但是在循環(huán)過程什么也不做forxinrange(10):pass也應用在函數(shù)定義或異常處理方面等小結引例基本語句及順序結構語句條件語句while循環(huán)for循環(huán)轉移語句Python語言程序設計PythonLanguageProgramming5字符串、列表和元組單詞本wordbook的創(chuàng)建序列字符串列表元組單詞本wordbook的創(chuàng)建【例5-1】在英語的學習過程中,遇到不認識的單詞,可以將其添加到單詞本中,用于后續(xù)復習使用。要求:打開一個英文文本,過濾掉介詞、代詞等停用詞(去掉長度小于5的單詞)后,用該文本中的剩余詞匯構建初始單詞本wordbook.txt。對于給定文本,遍歷其中的詞匯,對于長度大于5的單詞,若其不在當前的單詞本中,則把它添加到單詞本中。單詞本wordbook的創(chuàng)建【參考代碼】file=open('DeclarationofIndependent.txt','r').read()#將文本讀出字符串file.replace(',','')file.replace('.','')filelist=file.split()#字符串單詞為元素轉換為列表filelist1=[]#構建空列表forwordinfilelist:#遍歷列表中的元素iflen(word)>5:#如果單詞的長度大于5cleanword=word.lower().strip('.,')#將大寫全部轉換為小寫并去除標點符號filelist1.append(cleanword)#將清洗過的單詞添加到列表中#單詞本初始化wordbook=open('wordbook.txt','w')#以讀的方式打開文本文件forxinfilelist1:#對已經清洗過單詞元素的列表做遍歷wordbook.write(x)#把單詞元素寫入單詞本wordbook.write('\n')#每寫一個單詞的同時,寫入一個換行wordbook.close()#關閉單詞本單詞本wordbook的創(chuàng)建#更新單詞本s='Nowweareengagedinagreatcivilwar,testingwhetherthatnation,oranynationsoconceivedandsodedicated,canlongendure.Wearemetonagreatbattle-fieldofthatwar.Wehavecometodedicateaportionofthatfield,asafinalrestingplaceforthosewhoheregavetheirlivesthatthatnationmightlive.Itisaltogetherfittingandproperthatweshoulddothis.'s.replace(',','')s.replace('.','')list_s=s.split()#將給定的文本字符串轉換為列表clean_s=[]forwordinlist_s:#對列表做遍歷,清洗單詞iflen(word)>5:cleanword=word.lower().strip('.,')clean_s.append(cleanword)bookfile=open('wordbook.txt','r').read()#打開原有單詞本文件,放入列表中wordbookfile=bookfile.split()print(len(wordbookfile))#輸出原有單詞本的單詞數(shù)量forwordinclean_s:ifwordnotinwordbookfile:#更新原有單詞本wordbookfile.append(word)bookfile=open('wordbook.txt','w')forwinwordbookfile:bookfile.write(w)bookfile.close()print(len(wordbookfile))#輸出新的單詞本的單詞數(shù)量序列什么是序列標準類型的操作符序列類型的操作符內建函數(shù)什么是序列一組元素按照一定的順序組合在一起則稱為序列序列中每一個元素都用一個數(shù)字來表示它的位置,這個數(shù)字稱為索引,以0,1,2...為順序遞推字符串、列表、元組、buffer對象和xrange對象是Python五種內建的序列什么是序列【例5-2】簡單的序列操作【參考代碼】>>>astring='helloworld'#字符串序列>>>alist=list(astring)#將字符串轉換為列表序列>>>alist['h','e','l','l','o','','w','o','r','l','d']#每個字母就構成列表的元素>>>atuple=tuple(alist)#將列表轉換為元組>>>atuple('h','e','l','l','o','','w','o','r','l','d')#元組以小括號為標志>>>alist.clear()#清除元素>>>alist[]>>>alist=[1,5,6,8]+[4,5,7,9]#加號‘+’連結序列,而非加法操作>>>alist[1,5,6,8,4,5,7,9]>>>alist[4:7]#列表的切片操作[4,5,7]>>>astring[0]#輸出字符串序列的第0號元素'h'>>>alist.index(7)#輸出列表中元素7的索引6>>>alist[7]#輸出列表序列中索引為7的元素9>>>sorted(alist)#對列表序列進行排序[1,4,5,5,6,7,8,9]>>>sorted(astring)['','d','e','h','l','l','l','o','o','r','w']#對字符串元素進行排序標準類型的操作符標準類型的操作符共分為三種:值比較、對象身份比較、布爾運算(邏輯運算)值比較按序比較,只有在元素值相同,順序也相同的情況下,兩個序列才相等常見的值比較運算:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)>>>'father'>'children'True>>>[1,2,3,4]==[13,1,3,4,4]False>>>(1,2,3)==(1,2,3)True>>>[1,2,3,4]>=[1,3,5,6]False標準類型的操作符標準類型的操作符共分為三種:值比較、對象身份比較、布爾運算(邏輯運算)對象身份比較比較兩個序列是否為同一個對象對象身份比較運算的運算符有:is(是),isnot(不是)>>>a=[1,2,3]>>>b=[1,2,3]>>>a==bTrue>>>aisbFalse>>>c=[1,2,3]>>>d=c>>>cisdTrue標準類型的操作符標準類型的操作符共分為三種:值比較、對象身份比較、布爾運算(邏輯運算)布爾運算返回值為真或假連結序列對象的常見的布爾運算有:not(非),and(與),or(或)>>>('father'>'children')and([1,2,3,4]==[13,1,3,4,4])False>>>('father'>'children')or([1,2,3,4]==[13,1,3,4,4])True>>>not'father'>'children'False序列類型的操作符序列類型的操作符是指序列所特有的操作符和在序列上產生和其他數(shù)據結構不同效果的操作符根據操作符的優(yōu)先級從高到低,分別為:索引、切片、重復、連接、成員檢查索引([])seq[index]
獲取序列seq中下標為index的元素>>>a=[1,2,3]>>>a[1]2序列類型的操作符根據操作符的優(yōu)先級從高到低,分別為:索引、切片、重復、連接、成員檢查切片([index1:index2],[index1:index2:length])seq[index1:index2]
獲取下標從index1開始到index2(不包括)為止的元素集合seq[index1:index2:length]
獲取下標從index1開始到index2(不包括)為止步長為length的元素集合例>>>a=[1,2,3,4,5,6]>>>a[0:2][1,2]>>>a[0:6:2][1,3,5]序列類型的操作符根據操作符的優(yōu)先級從高到低,分別為:索引、切片、重復、連接、成員檢查重復(*)seq*Integer
獲得seq序列的Integer(整型數(shù))次重復>>>[1,2,3]*3[1,2,3,1,2,3,1,2,3]序列類型的操作符根據操作符的優(yōu)先級從高到低,分別為:索引、切片、重復、連接、成員檢查連接(+)seq1+seq2
連接序列1和序列2,以獲得一個按順序包含兩個序列全部元素的新序列。但是兩個序列是要同一個類型的>>>[1,2,3]+[4,5,6][1,2,3,4,5,6]>>>[1,2,3]+'abc'#連接兩個不同序列對象時,會報錯Traceback(mostrecentcalllast):File"<pyshell#0>",line1,in<module>[1,2,3]+'abc'TypeError:canonlyconcatenatelist(not"str")tolist序列類型的操作符根據操作符的優(yōu)先級從高到低,分別為:索引、切片、重復、連接、成員檢查成員檢查(in和notin)objectinSeq
判斷元素object是否在序列Seq中,若在則返回True反之返回FalseobjectnotinSeq
判斷元素object是否不在序列Seq中,若在則返回False反之返回True>>>1in[1,2,3]True>>>4in[1,2,3]False>>>1notin[1,2,3]False>>>4notin[1,2,3]True內建函數(shù)類型轉換函數(shù)list(),str()和tuple()三個類型轉換函數(shù)被用做在各種序列類型之間轉換>>>a='abcdef'>>>b=[1,2,3]>>>c=(1,2,3)>>>type(a)<class'str'>>>>type(b)<class'list'>>>>type(c)<class'tuple'>>>>type(list(a))<class'list'>>>>list(a)['a','b','c','d','e','f']>>>str(b)'[1,2,3]'>>>type(str(c))<class'str'>內建函數(shù)len()函數(shù)len()函數(shù)接受一個序列作為參數(shù),返回這個序列的長度(元素的個數(shù))>>>len('abcdefghijk')11>>>len([1,2,3,4,5])5內建函數(shù)max()、min()和sum()函數(shù)接受一個序列作為參數(shù),返回該序列中最大值、最小值和元素的和,前提是該序列中各個元素之間是可比較的或可計算的>>>max([1,32,12,14])32>>>min([3,55,2,13])2>>>min('jihbgyr')'b'>>>sum([1,2,3])6>>>sum('asd')Traceback(mostrecentcalllast):File"<pyshell#3>",line1,in<module>sum('asd')TypeError:unsupportedoperandtype(s)for+:'int'and'str'內建函數(shù)reversed()函數(shù)reversed()函數(shù)接受一個序列作為參數(shù),返回一個以逆序訪問的迭代器,需要for循環(huán),將迭代器中的元素逐個輸出>>>foriteminreversed([1,2,3,4,5]):print(item)54321>>>reversed('sdfgh')<reversedobjectat0x0000021A79DA4D90>內建函數(shù)sorted()函數(shù)sorted()函數(shù)接受一個序列,返回一個有序的列表。其中序列中各個元素必須是兩兩可比的sorted(seq,key=None,reverse=False)
seq為用于被排序的序列,key為指定的排序元素,reverse指定排序規(guī)則,reverse=True時降序,reverse=False時升序(默認)內建函數(shù)sorted(seq,key=None,reverse=False)
seq為用于被排序的序列,key為指定的排序元素,reverse指定排序規(guī)則,reverse=True時降序,reverse=False時升序(默認)>>>sorted([4,1,66,43])[1,4,43,66]>>>sorted([4,1,66,43],reverse=True)[66,43,4,1]>>>sorted(['a','k','e','q'])['a','e','k','q']>>>example_list=[5,0,6,1,2,7,3,4]>>>result_list=sorted(example_list,key=lambdax:x*2)>>>result_list[0,1,2,3,4,5,6,7]>>>students=[('john','A',15),('jane','B',12),('dave','B',10),]>>>sorted(students,key=lambdastudent:student[2])#按照學生年齡排序[('dave','B',10),('jane','B',12),('john','A',15)]>>>sorted(students,key=lambdastudent:student[2],revers
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)員工崗前安全培訓考試試題答案必考
- 2025年新職工入場安全培訓考試試題答案下載
- 2025年管理人員崗前安全培訓考試試題附完整答案(考點梳理)
- 2025擔保合同的有效條件及要求
- 2025年度技術合作協(xié)議 智慧城市規(guī)劃技術服務委托合同
- 廚電雙十一營銷活動方案
- 2025城鎮(zhèn)公寓樓買賣合同
- 2025年PCB精密定位材料項目建議書
- 2025授權加盟合同范本
- 2025年煙塵、粉塵自動采樣器及測定儀項目合作計劃書
- 新版醫(yī)療機構消毒技術規(guī)范
- 【波司登羽絨服公司員工招聘問題調研8500字】
- 制度梳理表(總表)
- 睪丸腫瘤課件
- 醫(yī)學倫理審查委員會的組成與職能
- 終端導購培訓-高級導購銷售培訓
- 空調冷卻冷凍水管道系統(tǒng)詳細的施工方案設計
- 安全運輸醫(yī)療垃圾的要點
- 關于員工心理健康的重要性
- 刑事案件模擬法庭劇本完整版五篇
- 2022年高考全國I卷數(shù)學高考真題(原卷版)
評論
0/150
提交評論