




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第5章程序的控制結(jié)構(gòu)信息學院2024引言5.1案例:標普500行業(yè)數(shù)據(jù)分析5.2分支結(jié)構(gòu)5.3循環(huán)結(jié)構(gòu)5.4CSV文件5.5編程實踐:錯誤處理5.6本章小結(jié)5.7習題本章將深入學習分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。在此基礎上還將學習常用的CSV數(shù)據(jù)文件。在章首案例的指引下,通過控制程序的執(zhí)行流程完成較為復雜的數(shù)據(jù)分析和處理工作。在編程實踐中,還將學習如何通過代碼來捕獲和處理程序運行時發(fā)生的錯誤。5.1案例:標普500行業(yè)數(shù)據(jù)分析標準普爾500指數(shù)(S&P500Index)是一個記錄美國500家上市公司的股票指數(shù),該指數(shù)占美國股票市場市值的80%。目前標普500指數(shù)含有505只股票,因為有5家公司有2類股,比如Google的母公司Alphabet就有A類股和C類股。本章案例從DataHub上搜集并下載的是2014年標普500的財務數(shù)據(jù)文件“constituents_financials.csv”,讀取其中的數(shù)據(jù)進行行業(yè)分析,比如各行業(yè)的股票數(shù)占比和總市值占比情況。CSV(CommaSeparatedValue)是一種用來存儲數(shù)據(jù)的純文本文件格式,可以用記事本、寫字板或電子表格軟件(如MicrosoftExcel)打開。首先通過文件對話框來選擇要打開的文件,注意這里的文件類型限定為CSV文件(*.csv)。5.1案例:標普500行業(yè)數(shù)據(jù)分析找到文件后,程序出現(xiàn)如下提示:Numberofstocks(N)orMarketCapitalization(M)(Enterforexit):輸入“N”的結(jié)果如左圖所示,輸入“M”的結(jié)果如右圖所示。5.1案例:標普500行業(yè)數(shù)據(jù)分析無論從股票數(shù)還是總市值來看,信息技術(shù)業(yè)、金融業(yè)、非必需消費品業(yè)、醫(yī)療健康業(yè)、工業(yè)都位居前五,其中信息技術(shù)業(yè)領先優(yōu)勢明顯,其次是金融業(yè)。從股票數(shù)來看,從高到低依次是非必需消費品業(yè)(16.63%)、信息技術(shù)業(yè)(13.85%)、金融業(yè)(13.47%)、工業(yè)(13.27%)和醫(yī)療健康業(yè)(12.08%)。從總市值來看,從高到低依次是信息技術(shù)業(yè)(27.05%)、金融業(yè)(13.84%)、醫(yī)療健康業(yè)(13.05%)、非必需消費品業(yè)(12.92%)和工業(yè)(9.70%)。5.1案例:標普500行業(yè)數(shù)據(jù)分析之后,程序再次出現(xiàn)選擇提示,可以再次輸入“N”或“M”。如果二者都不是,出現(xiàn)“Wronginput,pleasetryagain.”的提示信息。如果用戶什么也不輸入直接回車,程序結(jié)束。這樣的程序設計可以讓用戶在一次程序運行的過程中進行多次輸入選擇,即使輸入錯誤也可以再次輸入,而無需每次都重新運行一次程序。5.1案例:標普500行業(yè)數(shù)據(jù)分析Python的分支結(jié)構(gòu)使用if語句來構(gòu)成,包括單分支語句、雙分支語句和多分支語句。第1章中已經(jīng)介紹過if-else雙分支語句,在前面的幾章中也已經(jīng)使用過更為簡單的if單分支語句,本節(jié)主要介紹if-elif-else多分支語句。5.2分支結(jié)構(gòu)多分支結(jié)構(gòu)可以用嵌套的雙分支語句來實現(xiàn),但使用多分支結(jié)構(gòu)更加簡潔、直觀。多分支語句即在else后直接跟if形成一個elif的單一分支,其語法形式如下:if<condition-1>:<case-1-statements>elif<condition-2>:<case-2-statements>…elif<condition-n>:<case-n-statements>else:<default-statements>5.2.1if-elif-else多分支語句5.2.1if-elif-else多分支語句任何能被400整除的年份都是閏年;在剩下的年份中,任何能被100整除的年份都不是閏年;在剩下的年份中,任何能被4整除的年份都是閏年;其他年份都不是閏年。【例5-1】判定某年是否為閏年根據(jù)規(guī)則采用多分支結(jié)構(gòu)判定是否為閏年,如果是閏年,isLeapYear賦值為True,如果不是則賦值為False。運行程序,輸入“2000”,觀察結(jié)果。再次運行程序,輸入“1800”,觀察結(jié)果。第三次運行程序,輸入“1840”,,觀察結(jié)果。最后一次運行程序,輸入你的出生年份,觀察結(jié)果。【例5-1】判定某年是否為閏年P(guān)ython中的條件表達式允許你在一行語句中根據(jù)不同的條件來進行不同的賦值,其語法形式如下:XifCelseY先執(zhí)行中間的ifC,如果值為True,就將左邊的X作為結(jié)果返回,否則將右邊的Y作為結(jié)果返回。比如:c=aifa>belseb如果a大于b,條件表達式的結(jié)果為a,否則為b,然后將結(jié)果賦值給c,即c總是a和b中的最大值。用雙分支結(jié)構(gòu)為:ifa>b:
c=aelse:
c=b5.2.2條件表達式一年分為十二星座,分別是魔羯座(12/22~01/19)、水瓶座(01/20~02/18)、雙魚座(02/19~03/20)、白羊座(03/21~04/19)、金牛座(04/20~05/20)、雙子座(05/21~06/20)、巨蟹座(06/21~07/22)、獅子座(07/23~08/22)、處女座(08/23~09/22)、天秤座(09/23~10/22)、天蝎座(10/23~11/21)、射手座(11/22~12/21)。【例5-2】查詢出生日期的星座由用戶輸入兩位的月份和兩位的日期,用“/”分隔,然后調(diào)用split()方法對輸入的字符串進行分割,分別賦值給mm和dd,并將dd轉(zhuǎn)換為整數(shù)。采用多分支結(jié)構(gòu)判斷mm的值,由于一個月內(nèi)前后有兩種不同的星座,采用條件表達式來判斷dd在哪一個日期范圍并將相應的星座賦值給const,如果月份有誤,const賦值為空串。采用條件表達式來判斷輸入是否有效,如果有效輸出星座查詢結(jié)果,否則提示輸入錯誤。5.3循環(huán)結(jié)構(gòu)第1章中已經(jīng)介紹過for語句,本節(jié)主要介紹while語句。和分支結(jié)構(gòu)一樣,循環(huán)結(jié)構(gòu)也可以嵌套,嵌套循環(huán)比較復雜,要特別注意程序執(zhí)行的流程。5.3.1while語句for循環(huán)在循環(huán)開始的時候迭代次數(shù)就已經(jīng)確定了,到達迭代次數(shù)后,循環(huán)就終止了。如果我們在循環(huán)開始的時候無法確定迭代的次數(shù),就需要用到while語句。while循環(huán)也稱為條件循環(huán),其語法形式如下:while<condition>:<statements><condition>為條件表達式,其值為布爾型,即True或False。只要條件表達式的值為True,while下的語句塊(循環(huán)體)就會不斷被循環(huán)執(zhí)行;如果想要終止循環(huán),就要想辦法使條件表達式的值變?yōu)镕alse。死循環(huán)(infiniteloop)while語句功能強大,for語句的功能都可以用while語句實現(xiàn),反之則不然。我們來看一個簡單的例子,循環(huán)輸出0-9的數(shù)字。用for語句實現(xiàn)的代碼如下:foriinrange(10):print(i)其中i是循環(huán)變量,會自動遍歷range(10)中的所有值,在遍歷結(jié)束后循環(huán)即終止。死循環(huán)(infiniteloop)而在while結(jié)構(gòu)中并沒有循環(huán)變量,也不會自動終止,需要自行定義并賦值,通過條件來控制循環(huán)是否繼續(xù)執(zhí)行。用while語句實現(xiàn)的代碼如下:i=0whilei<10:print(i)
i+=1如果忘記在循環(huán)體中對i的值進行累加,程序執(zhí)行結(jié)果會怎樣?不斷被執(zhí)行、停不下來的循環(huán)被稱為死循環(huán)。程序執(zhí)行發(fā)生死循環(huán)時,可以在IDLE解釋器中通過快捷鍵“Ctrl+C”或者Shell菜單下的“InterruptExecution”來強行終止程序運行。試一試交互式循環(huán)(interactiveloop)交互式循環(huán)是while語句常用的一種循環(huán)模式,在每一次循環(huán)迭代中由用戶輸入數(shù)據(jù),程序進行數(shù)據(jù)處理,然后詢問用戶是否還要繼續(xù)輸入數(shù)據(jù)。moredata=Truewhilemoredata:#getdataitemfromuser#processdataitem#askuserifthereismoredata其中布爾變量moredata表示是否還要繼續(xù)輸入數(shù)據(jù),初值為True,在用戶沒有更多數(shù)據(jù)需要輸入時,將其賦值為False,循環(huán)終止。平均績點=∑(課程學分×課程績點)÷∑課程學分課程績點的計算方法不同高校各有不同,這里采用如下方法:4.5(95~100)、4.0(90~94)、3.5(85~89)、3.0(80~84)、2.5(75~79)、2.0(70~74)、1.5(65~69)、1.0(60~64)、0(60以下)。【例5-3】計算平均績點(GPA)為了計算平均績點,定義了三個累加變量totalCourses、totalCredits和totalGradePoints,賦初值為0。通過while循環(huán)來不斷獲取用戶輸入的課程學分和課程成績。【例5-3】計算平均績點(GPA)在用戶每次循環(huán)迭代后,詢問用戶是否還有更多課程要輸入,如果用戶輸入“N”或者“n”,則將more賦值為False,循環(huán)條件不再滿足,退出循環(huán)。為了用戶輸入方便,如果需要繼續(xù)輸入,直接回車即可,或者輸入其他任意字符。運行程序,輸入第一門課(學分2、成績94),程序問“Morecourses?(Y/N)”,直接輸入回車繼續(xù)輸入第二門課(學分3,成績88),程序再問“Morecourses?(Y/N)”,輸入“n”,循環(huán)結(jié)束,輸出“2courses;5credits;GPAis3.70.”。再次運行程序,輸入截止目前你所有課程的學分和成績,看看你的平均績點是多少?。【例5-3】計算平均績點(GPA)標記控制循環(huán)一直處理數(shù)據(jù)直到數(shù)據(jù)達到一個標記循環(huán)結(jié)束的特殊值,這個特殊值(標記)可以是任意值,但要和要處理的數(shù)據(jù)值有所區(qū)別。其一般形式為:#getthefirstdataitem#whileitemisnotthesentinel:#processtheitem#getthenextdataitem循環(huán)開始之前讀取第一個數(shù)據(jù)項,如果這個數(shù)據(jù)項的值就是標記,循環(huán)不會被執(zhí)行,數(shù)據(jù)也不會被處理。標記控制循環(huán)(sentinelloop)如果第一個數(shù)據(jù)項不是標記,循環(huán)被執(zhí)行,數(shù)據(jù)被處理,并獲取下一個數(shù)據(jù)項,如此循環(huán)迭代,直到被輸入的數(shù)據(jù)項是標記,循環(huán)結(jié)束。一個典型的標記是空字符串,如果用戶什么也沒輸入而是直接按下回車鍵,input函數(shù)返回的就是空串,以此作為標記來結(jié)束循環(huán),既方便用戶,也不會和要處理的數(shù)據(jù)混淆。本章案例中用戶可以循環(huán)選擇查看行業(yè)的股票只數(shù)占比情況或是市值占比情況,變量choice用來接收用戶的選擇,“N”表示股票只數(shù),“M”表示市值,如果用戶想終止循環(huán)退出程序,可以直接回車。標記控制循環(huán)(sentinelloop)importmatplotlib.pyplotasplt#數(shù)據(jù)可視化工具#繪制餅圖,根據(jù)用戶選擇顯示市值占比或股票只數(shù)占比choice
=input("Numberofstocks(N)orMarketCapitalization(M)(Enterforexit):")whilechoice:ifchoice.upper()=='N':plt.pie(num,labels=sector,autopct='%5.2f%%')plt.title("Numberofstocks",fontsize=16)plt.show()elifchoice.upper()=='M':plt.pie(market_cap,labels=sector,autopct='%5.2f%%')plt.title("MarketCapitalization",fontsize=16)plt.show()else:print("Wronginput,pleasetryagain.")choice=input("Numberofstocks(N)orMarketCapitalization(M)(Enterforexit)")標記控制循環(huán)(sentinelloop)注意:接收用戶的輸入語句出現(xiàn)了兩次,第一次在循環(huán)之前,第二次在循環(huán)體內(nèi)的最后。我們在第3章中已經(jīng)學習了如何利用matplotlib庫中的pyplot包繪制散點圖和折線圖,本章案例調(diào)用pyplot包的pie()方法來繪制餅圖。變量num和market_cap分別是存放行業(yè)的股票總數(shù)和總市值的列表,作為繪制餅圖的主要數(shù)據(jù)源,列表中的每個元素對應餅圖中的一個扇形;labels參數(shù)是各個扇形的標簽,這里就是存放行業(yè)數(shù)據(jù)的變量sector;autopct參數(shù)設置餅圖內(nèi)各個扇形百分比的顯示格式,“%d%%”是整數(shù)百分比,“%0.2f%%”是兩位小數(shù)百分比。標記控制循環(huán)(sentinelloop)第3章中(3.3和3.4)介紹過break語句可以用來跳出for循環(huán),對于while循環(huán)也適用。如上的標記控制循環(huán)使用break語句可以采用如下形式:whileTrue:#getdataitem#ifdataitemisthesentinel:break#processdataitemwhileTrue是一個死循環(huán),但我們可以在循環(huán)體中加入條件判斷,當某個條件滿足時,就退出循環(huán),從而避免死循環(huán)的發(fā)生。使用break語句退出循環(huán)后,循環(huán)體中后面的語句就不會被執(zhí)行,因此無需使用else語句。半途退出循環(huán)(loopandahalf)下面我們對【例5-1】進行修改,使得程序循環(huán)運行,可以判定多個年份是否為閏年,直到用戶輸入“-1”為止:whileTrue:
year=int(input("Year(-1forexit):"))ifyear==-1:breakifyear%400==0:
isLeapYear=Trueelifyear%100==0:
isLeapYear=Falseelifyear%4==0:
isLeapYear=Trueelse:
isLeapYear=FalseifisLeapYear:print(year,"isaleapyear.")else:print(year,"isnotaleapyear.")半途退出循環(huán)(loopandahalf)5.3.2嵌套循環(huán)在嵌套循環(huán)中,內(nèi)層循環(huán)出現(xiàn)在外層循環(huán)的循環(huán)體中,外層循環(huán)的每一次迭代,都包含內(nèi)部循環(huán)的全部迭代。設計嵌套循環(huán)的最好方法是:先設計好外層循環(huán)而不去考慮內(nèi)層細節(jié),再去設計內(nèi)層循環(huán)不用考慮外層細節(jié)。凱撒密碼(Caesarcipher)是一種位移替換密碼,將某個明文字母做N位偏移得到密文,位數(shù)N就是凱撒密碼加密和解密的密鑰。比如,位數(shù)為3時,A變成D、B變成E、C變成F、……、X變成A、Y變成B、Z變成C。大寫和小寫字母都可以加密,非字母字符不變。【例5-4】凱撒密碼外層是一個while死循環(huán),循環(huán)體內(nèi)有一個退出條件,即輸入信息(變量orig)為空串時。【例5-4】凱撒密碼通過內(nèi)層for循環(huán)對于輸入信息的每一個字符(變量ch)進行處理。變量pos是字符相對于“A”或“a”的位置,首先從字母轉(zhuǎn)換成相應的ASCII值,由于是循環(huán)位移,加上位移數(shù)后還需要對26求余,得到新的ASCII值后再轉(zhuǎn)換成字符。【例5-4】凱撒密碼5.4CSV文件本節(jié)介紹常用的數(shù)據(jù)文件之一:CSV文件。CSV(CommaSeparatedValue)是具有特殊格式的純文本文件,通常用來存儲表格數(shù)據(jù)。5.4.1CSV格式CSV文件由多行組成,表示表格數(shù)據(jù)中的記錄。每條記錄則由多個字段組成,字段間的分隔符最常見的是逗號或制表符,通常所有記錄都有完全相同的字段序列。CSV文件可以使用Windows附件中的記事本或?qū)懽职宕蜷_,也可以使用Office中的Excel應用程序通過簡單的轉(zhuǎn)換后打開。5.4.1CSV格式5.4.2CSV庫Python提供了csv標準庫對CSV格式的文件進行讀取和寫入,引入它之后就可以調(diào)用其中的函數(shù)進行操作。函數(shù)功能reader(f)讀取文件對象f,返回一個迭代器對象,可以用來遍歷文件中的每一行數(shù)據(jù)writer(f)寫入文件對象f,返回一個csv編碼器對象,調(diào)用其方法可以將數(shù)據(jù)寫入文件,其中writerow()方法寫入一行,writerows()方法寫入多行【例5-5】輸入課程數(shù)據(jù)存入文件變量course是存放課程學分和成績的元組,courses是存放所有course的列表。以追加的形式打開文件“credit_score.csv”。由于CSV文件中行與行之間本身就有換行符,使用默認值會出現(xiàn)空行,因此將newline參數(shù)賦值為空串。調(diào)用csv庫的writer()函數(shù),返回csv編碼器對象賦值給變量csvWriter,調(diào)用該對象的writerows()方法將所有的課程數(shù)據(jù)寫入文件。運行程序,輸入第一門課(學分2、成績94),程序問“Morecourses?(Y/N)”,直接輸入回車繼續(xù)輸入第二門課(學分3,成績88),程序再問“Morecourses?(Y/N)”,輸入“n”,循環(huán)結(jié)束,輸入的課程數(shù)據(jù)被保存至文件“credit_score.csv”。再次運行程序,添加更多課程數(shù)據(jù)至該文件。【例5-5】輸入課程數(shù)據(jù)存入文件【例5-6】讀取課程數(shù)據(jù)并計算GPA調(diào)用csv庫的reader()函數(shù),返回迭代器對象并轉(zhuǎn)換成列表賦值給變量courses。使用for循環(huán)遍歷courses中的每一門課,每一門課包含兩個元素,第一個是學分,第二個是成績,轉(zhuǎn)換成整型后分別賦值給變量credit和score。運行程序,假設文件中包含之前輸入的兩門課程,則輸出“2courses;5credits;GPAis3.70.”。5.4.2CSV庫本章案例要從文件“constituents_financials.csv”中讀取標普500的財務數(shù)據(jù),并進行行業(yè)數(shù)據(jù)分析。從文件中讀取數(shù)據(jù)的代碼如下:importcsvf=open("constituents_financials.csv",'r')sp500=list(csv.reader(f))#轉(zhuǎn)換成列表,每個元素即一行f.close()5.4.2CSV庫CSV文件中還包括標題行。標題行和數(shù)據(jù)行不同,因此分開進行處理,代碼如下:title=sp500[0]#第一行是標題sector_ind=title.index('Sector')#獲得行業(yè)的下標market_ind=title.index('MarketCap')#獲得市值的下標sp500=sp500[1:]5.4.2CSV庫接下來從數(shù)據(jù)記錄中找出所有行業(yè),代碼如下:sector=set()#行業(yè)的集合foreachinsp500:
sector.add(each[sector_ind])sector=tuple(sector)#轉(zhuǎn)換成元組sector為集合類型,重復的行業(yè)不會被添加進去。sector_ind是之前找出的“Sector”字段的下標。為后續(xù)數(shù)據(jù)處理方便,將變量sector轉(zhuǎn)換為元組。5.4.2CSV庫接下來就是最重要的行業(yè)數(shù)據(jù)分析,得到所有行業(yè)的股票總數(shù)和總市值,代碼如下:num,market_cap=[],[]#股票總數(shù)和總市值的列表forsecinsector:#對每個行業(yè)循環(huán)
num_sec=0#每個行業(yè)的股票總數(shù)
market_cap_sec=0#每個行業(yè)的總市值foreachinsp500:#對每只股票循環(huán)ifeach[sector_ind]==sec:
num_sec+=1
market_cap_sec+=int(each[market_ind])
num.append(num_sec)
market_cap.append(market_cap_sec)5.4.2CSV庫變量num是存放所有行業(yè)股票數(shù)的列表,變量market_cap是存放所有行業(yè)總市值的列表。外循環(huán)遍歷sector中的每一個行業(yè),累加變量num_sec和market_cap_sec分別用來統(tǒng)計該行業(yè)的股票數(shù)和總市值,統(tǒng)計好后添加至相應的列表num和market_cap。內(nèi)循環(huán)則是對某一個行業(yè)sec進行統(tǒng)計的過程,遍歷sp500中的每一只股票,如果屬于sec這個行業(yè),則對num_sec和market_cap_sec進行累加。由于CSV文件是純文本文件,讀取出來的數(shù)據(jù)要進行數(shù)值運算,需要轉(zhuǎn)換成數(shù)值類型。至此,本章案例除錯誤處理部分已完成,將程序文件保存為ch05.py,將數(shù)據(jù)文件“constituents_financials.csv”與程序文件保存至同一路徑下,運行程序,如有錯誤則進行修正。試一試5.5編程實踐:錯誤處理程序設計語言提供的錯誤處理機制使得程序員可以通過代碼來捕獲和處理程序運行時的錯誤,而不是運行時一發(fā)生錯誤程序就崩潰,出現(xiàn)一段“Traceback”的錯誤提示。錯誤處理機制保證即使程序運行出現(xiàn)錯誤,程序的控制權(quán)還掌握在程序員手中。5.5編程實踐:錯誤處理Python中的錯誤處理是通過一種特殊的控制結(jié)構(gòu)(try-except)來完成的,這種結(jié)構(gòu)類似于分支結(jié)構(gòu),其語法形式如下:try:<statements>except<error-1>:<error-1statements>…except<error-n>:<error-nstatements>5.5編程實踐:錯誤處理Python遇到try語句時,就會嘗試執(zhí)行其中的語句塊,如果執(zhí)行過程中沒有發(fā)生錯誤,執(zhí)行結(jié)束后程序就會轉(zhuǎn)移到try-except結(jié)構(gòu)之后的語句開始執(zhí)行。如果發(fā)生了錯誤,Python就會去查找與錯誤類型匹配的except子句,并執(zhí)行其中的語句塊進行錯誤處理,try語句塊中的剩余語句不會被執(zhí)行。如果找不到對應錯誤類型的except字句,程序仍然會崩潰并出現(xiàn)“Traceback”的錯誤提示。在【例5-1】中,如果程序運行時,用戶沒有輸入正確的年份,而是輸入“abcd”,那么在將用戶的輸入轉(zhuǎn)換成數(shù)值型進行運算時就會發(fā)生“ValueError”。【例5-7】給例1加入循環(huán)和錯誤處理【例5-7】給例1加入循環(huán)和錯誤處理最外層加入while循環(huán),將可能出錯的語句放在try語句塊中,加入捕獲值錯誤的except子句。如果用戶輸入不正確,執(zhí)行到第3行語句時出錯,程序轉(zhuǎn)向except子句并執(zhí)行其中的語句塊,即提示用戶輸入正確的年份,然后開始下一次循環(huán)迭代。【例5-7】給
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西方國家政策協(xié)調(diào)的機制分析試題及答案
- 機電工程高新技術(shù)考察試題及答案
- 2025年直播電商主播影響力提升與內(nèi)容營銷策略研究報告
- 反映西方社會變遷的重大政治事件試題及答案
- 公共政策在應對自然災害中的角色研究試題及答案
- 網(wǎng)絡設備性能評估試題及答案
- 接受失敗并調(diào)整學習方法2025年信息系統(tǒng)項目管理師試題及答案
- 西方國家的社會政策與民生福祉試題及答案
- 溝通技巧在公共政策中的應用研究試題及答案
- 機電接口與通訊協(xié)議試題及答案
- 某村古建筑保護建設工程項目可行性方案
- 安全生產(chǎn)知識競賽題庫及答案(共200題)
- 2023年中電信數(shù)智科技有限公司招聘筆試題庫及答案解析
- GB 1886.358-2022食品安全國家標準食品添加劑磷脂
- GB/T 1508-2002錳礦石全鐵含量的測定重鉻酸鉀滴定法和鄰菲啰啉分光光度法
- 小學六年級信息技術(shù)復習題
- 食品安全培訓(食品安全知識)-課件
- 初二物理新人教版《功》公開課一等獎省優(yōu)質(zhì)課大賽獲獎課件
- 北京大學國際政治經(jīng)濟學教學大綱
- 合肥市建設工程消防設計審查、消防驗收、備案與抽查文書樣式
- 《電氣工程基礎》熊信銀-張步涵-華中科技大學習題答案全解
評論
0/150
提交評論