資源描述:
《《Python程序的設(shè)計(jì)》習(xí)題與答案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、......《Python程序設(shè)計(jì)》習(xí)題與參考答案第1章基礎(chǔ)知識(shí)1.1簡(jiǎn)單說(shuō)明如何選擇正確的Python版本。答:在選擇Python的時(shí)候,一定要先考慮清楚自己學(xué)習(xí)Python的目的是什么,打算做哪方面的開(kāi)發(fā),有哪些擴(kuò)展庫(kù)可用,這些擴(kuò)展庫(kù)最高支持哪個(gè)版本的Python,是Python2.x還是Python3.x,最高支持到Python2.7.6還是Python2.7.9。這些問(wèn)題都確定以后,再做出自己的選擇,這樣才能事半功倍,而不至于把大量時(shí)間浪費(fèi)在Python的反復(fù)安裝和卸載上。同時(shí)還應(yīng)該注意,當(dāng)更新的Pyt
2、hon版本推出之后,不要急于更新,而是應(yīng)該等確定自己所必須使用的擴(kuò)展庫(kù)也推出了較新版本之后再進(jìn)行更新。盡管如此,Python3畢竟是大勢(shì)所趨,如果您暫時(shí)還沒(méi)想到要做什么行業(yè)領(lǐng)域的應(yīng)用開(kāi)發(fā),或者僅僅是為了嘗試一種新的、好玩的語(yǔ)言,那么請(qǐng)毫不猶豫地選擇Python3.x系列的最高版本(目前是Python3.4.3)。1.2為什么說(shuō)Python采用的是基于值的內(nèi)存管理模式?答:Python采用的是基于值的內(nèi)存管理方式,如果為不同變量賦值相同值,則在內(nèi)存中只有一份該值,多個(gè)變量指向同一塊內(nèi)存地址,例如下面的代碼。>>>
3、x=3>>>id(x)10417624>>>y=3>>>id(y)10417624>>>y=5>>>id(y)10417600>>>id(x)104176241.3在Python中導(dǎo)入模塊中的對(duì)象有哪幾種方式?答:常用的有三種方式,分別為limport模塊名[as別名]學(xué)習(xí)參考......lfrom模塊名import對(duì)象名[as別名]lfrommathimport*1.4使用pip命令安裝numpy、scipy模塊。答:在命令提示符環(huán)境下執(zhí)行下面的命令:pipinstallnumpypipinstallscip
4、y1.5編寫(xiě)程序,用戶輸入一個(gè)三位以上的整數(shù),輸出其百位以上的數(shù)字。例如用戶輸入1234,則程序輸出12。(提示:使用整除運(yùn)算。)答:1)Python3.4.2代碼:x=input('Pleaseinputanintegerofmorethan3digits:')try:x=int(x)x=x//100ifx==0:print('Youmustinputanintegerofmorethan3digits.')else:print(x)exceptBaseException:print('Youmustinpu
5、taninteger.')2)Python2.7.8代碼:importtypesx=input('Pleaseinputanintegerofmorethan3digits:')iftype(x)!=types.IntType:print'Youmustinputaninteger.'eliflen(str(x))!=4:print'Youmustinputanintegerofmorethan3digits.'else:printx//100學(xué)習(xí)參考......第2章Python數(shù)據(jù)結(jié)構(gòu)2.1為什么應(yīng)盡量從列
6、表的尾部進(jìn)行元素的增加與刪除操作?答:當(dāng)列表增加或刪除元素時(shí),列表對(duì)象自動(dòng)進(jìn)行內(nèi)存擴(kuò)展或收縮,從而保證元素之間沒(méi)有縫隙,但這涉及到列表元素的移動(dòng),效率較低,應(yīng)盡量從列表尾部進(jìn)行元素的增加與刪除操作以提高處理速度。2.2編寫(xiě)程序,生成包含1000個(gè)0到100之間的隨機(jī)整數(shù),并統(tǒng)計(jì)每個(gè)元素的出現(xiàn)次數(shù)。(提示:使用集合。)答:1)Python3.4.2代碼importrandomx=[random.randint(0,100)foriinrange(1000)]d=set(x)forvind:print(v,':',
7、x.count(v))2)Python2.7.8代碼importrandomx=[random.randint(0,100)foriinrange(1000)]d=set(x)forvind:printv,':',x.count(v)2.3編寫(xiě)程序,用戶輸入一個(gè)列表和2個(gè)整數(shù)作為下標(biāo),然后輸出列表中介于2個(gè)下標(biāo)之間的元素組成的子列表。例如用戶輸入[1,2,3,4,5,6]和2,5,程序輸出[3,4,5,6]。答:1)Python3.4.2代碼x=input('Pleaseinputalist:')x=eval(
8、x)start,end=eval(input('Pleaseinputthestartpositionandtheendposition:'))print(x[start:end])2)Python2.7.8代碼學(xué)習(xí)參考......x=input('Pleaseinputalist:')start,end=input('Pleaseinputthestartpositionandthe