版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課后題答案第1章解釋性、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型、吉多·范羅蘇姆Python包、模塊、語句B 5.C6.使用pip工具來安裝擴(kuò)展庫,指令為:pipinstall庫文件名。用pip命令管理Python擴(kuò)展庫需要在命令提示符環(huán)境中進(jìn)行,并且需要切換至pip所在目錄。7.首先將.py源文件和python.exe文件關(guān)聯(lián),將.pyw源文件和pythonw.exe關(guān)聯(lián)。然后雙擊源文件即可執(zhí)行。8.常用的有三種方式,分別為import模塊名[as別名]from模塊名import對象名[as別名]frommathimport*Python被稱為人工智能的專用語言,Python下眾多的開源框架對人工智能應(yīng)用領(lǐng)域提供了強(qiáng)大的支持,如計(jì)算機(jī)視覺庫OpenCV、機(jī)器學(xué)習(xí)框架TensorFlow等。借助于Django、web2py等框架,可以快速開發(fā)網(wǎng)站應(yīng)用程序。數(shù)據(jù)分析可以使用numpy、pandas、matplotlib、scipy等庫。第2章Python采用的是基于值的內(nèi)存管理方式,如果為不同變量賦值相同值,則在內(nèi)存中只有一份該值,多個(gè)變量指向同一塊內(nèi)存地址id()在Python中/表示普通除法(也叫真除法),結(jié)果是實(shí)數(shù),而//表示整除,得到的結(jié)果是整數(shù),并且自動向下取整。x=input('請輸入3位以上的數(shù)字:')iflen(x)>=3: x=int(x) print('結(jié)果是:',x//100)else: print('輸入錯(cuò)誤!')x=input("inputanumber:")a,b,c=map(int,x)print("resultis:{0}\t{1}\t{2}".format(a,b,c))sum()True19False(True,5)True551:2:314.x=input("inputthreenumbers:")a,b,c=map(int,x.split())print("sortedresultis:",sorted((a,b,c)))第3章1.importrandomx=[random.randint(0,200)foriinrange(100)]#第一種實(shí)現(xiàn):使用集合s=set(x)forvins: print(v,':',x.count(v))#第二種實(shí)現(xiàn):使用字典d=dict()forvinx: d[v]=d.get(v,0)+1fork,vind.items(): print(k,v,sep=':')2.x=input("inputalist:")x=eval(x)p=input("inputtwopositon:")begin,end=map(int,p.split())print(x[begin:end+1])[6foriinrange(10)]4.importrandomx=[random.randint(0,100)foriinrange(20)]print(x)x[:10]=sorted(x[:10])x[10:]=sorted(x[10:],reverse=True)print(x)5.[]6.[18,19]7.([1,3],[2])8.當(dāng)列表增加或刪除元素時(shí),列表對象自動進(jìn)行內(nèi)存擴(kuò)展或收縮,從而保證元素之間沒有縫隙,但這涉及到列表元素的移動,效率較低,應(yīng)盡量從列表尾部進(jìn)行元素的增加與刪除操作以提高處理速度。9.[1,2,3,1,2,3,1,2,3]10.['1','2','3']第4章A 2.D 3.C 4.D 5.C6.name=input("請輸入你的名字:")place=input("請輸入你經(jīng)常去的地方:")like=input("請輸入你平時(shí)的愛好:")print('可愛的',name,',','最喜歡在',place,'地方進(jìn)行',like)或者:test="可愛的{0},最喜歡在{1}地方進(jìn)行{2}"name=input("請輸入你的名字:")place=input("請輸入你經(jīng)常去的地方:")like=input("請輸入你平時(shí)的愛好:")v=test.format(name,place,like)print(v)7.s=input("請輸入一個(gè)待統(tǒng)計(jì)的字符串:")print(s.count(""))第5章Continue、breakwhileCBPython提供了while和for兩種循環(huán)控制結(jié)構(gòu),用來處理需要進(jìn)行的重復(fù)操作,直到滿足某些特定條件。while循環(huán)一般用于循環(huán)次數(shù)難以提前確定的情況,也可以用于循環(huán)次數(shù)確定的情況。for循環(huán)一般用于循環(huán)次數(shù)可以提前確定的情況,尤其適用于枚舉或者遍歷序列、迭代對象中元素的場合。for循環(huán)寫的代碼通常更加清晰簡單,因此編程時(shí)建議優(yōu)先使用for循環(huán)。相同或不同的循環(huán)結(jié)構(gòu)之間可以相互嵌套,也可以和選擇結(jié)構(gòu)嵌套使用,用來實(shí)現(xiàn)更為復(fù)雜的邏輯。6.x=input('Pleaseinputaninteger:')x=int(x)ifx%2==0: print("{:d}is偶數(shù)!".format(x))else: print("{:d}is奇數(shù)!".format(x))7.x=input('Pleaseinputanintegerlessthan1000:')x=eval(x)t=xi=2result=[]whileTrue: ift==1: break ift%i==0: result.append(i) t=t//ielse: i+=1print(x,'=','*'.join(map(str,result)))第6章1.importmathdefIsPrime(v): n=int(math.sqrt(v)+1) foriinrange(2,n): ifv%i==0: return'No' else: return'Yes'print(IsPrime(17))print(IsPrime(30))print(IsPrime(813))2.defdemo(v): capital,little,digit,other=(0,)*4 #或者capital=little=digit=other=0 foriinv: if'A'<=i<='Z': capital+=1 elif'a'<=i<='z': little+=1 elif'0'<=i<='9': digit+=1 else: other+=1return(capital,little,digit,other)x='PEP498,formattedstringliterals.'print(demo(x))3.會。defdemo(): a=3 print(a)a=5demo()4.defmySum(data): sum=0 fordindata: sum+=d returnsum5.defmySorted(lst,reverse=False): lst=lst[:] length=len(lst) foriinrange(0,length-1): forjinrange(i+1,length): #比較相鄰兩個(gè)元素大小,并根據(jù)需要進(jìn)行交換 #默認(rèn)升序排序 exp='lst[i]>lst[j]' #如果reverse=True則降序排序 ifreverse: exp='lst[i]<lst[j]' ifeval(exp): lst[i],lst[j]=lst[j],lst[i] returnlst-2
defdemo(*v): print(max(v))print(sum(v))deff(n):a=b=c=1foriinrange(n-3):c,b,a=a+b+c,c,breturnc第7章B2.C3.D4.C5.AclassStudent: #學(xué)生類count=0 #計(jì)數(shù)def__init__(self,name,age):=nameself.age=ageStudent.count+=1 #要使得變量全局有效,就定義為類的屬性deflearn(self):print("islearning")stu1=Student("jack",33)stu2=Student("amy",24)stu3=Student("lucy",22)stu4=Student("lulu",45)print("實(shí)例化了%s個(gè)學(xué)生"%Student.count)7.classB:def__init__(self):passdefhandle(self):print("B.handle")classA(B):def__init__(self):super().__init__()defhandle(self):super().handle() #super依賴于繼承a=A()a.handle()第8章C2.A3.D4.B5.A6.try:score=int(input("請輸入學(xué)生的成績:"))ifscore>=90andscore<=100:print("A:優(yōu)秀")elifscore>=80andscore<90:print("B:良好")elifscore>=60andscore<80:print("C:合格")else:assertscore>60,"D:不及格"exceptExceptionasresult:print("低于60分:\n",result)7.classmy_error(Exception):def__init__(self,stri):self.leng=len(stri)defprocess(self):ifself.leng<5:return'Theinputisoflength%s,expectingatleast5'%self.lengelse:return'printsuccess'try:s=input("請輸入字符串:")raisemy_error(s)exceptmy_errorase:print(cess())第9章C 2.D 3.D 4.A 5.B6.oldFileName=input("請輸入要拷貝的文件名字:")oldFile=open(oldFileName,'r')ifoldFile:#提取文件的后綴fileFlagNum=oldFileName.rfind('.')iffileFlagNum>0:fileFlag=oldFileName[fileFlagNum:]#組織新的文件名newFileName=oldFileName[:fileFlagNum]+'[復(fù)件]'+fileFlag#創(chuàng)建新文件newFile=open(newFileName,'w')#把舊文件中的數(shù)據(jù)復(fù)制到新文件中forlineContentinoldFile.readlines():newFile.write(lineContent)#關(guān)閉文件oldFile.close()newFile.close()7.importosimportsyssys.setrecursionlimit(1000)#setthemaximumdepthas1500file_path=input('請輸入待查找的目錄:')file_name=input('請輸入待查找的文件:')deffile_find(file_path,file_name):ifos.path.isdir(file_path):#os.chdir(file_path) #進(jìn)入當(dāng)前路徑ile_list=os.listdir(file_path)foreachinfile_list:temp_dir=file_path+os.sep+eachifos.path.isdir(temp_dir): #開始遞歸進(jìn)入下一級子目錄 temp=file_find(temp_dir,file_name) iftemp==True: returnTrueelifos.path.isfile(temp_dir)andeach==file_name:returnTrue#os.chdir('..') #沒找到文件,退回上一個(gè)目錄returnFalseelse:print('{}不是一個(gè)目錄'.format(file_path))file_path='D:\PythonTest\book1'file_name='1.txt'print(file_find(file_path,file_name))第10章B 2.C 3.A 4.D 5.C(1)%matplotlibinlineimportmatplotlib.pyplotaspltimportseabornassnsiris=sns.load_dataset("iris")sns.set(style="ticks")fig,axes=plt.subplots(1,2,figsize=(20,5))sns.swarmplot(x='petal_length',y="petal_width",ax=axes[0],data=iris,hue="species")sns.swarmplot(x='sepal_length',y="sepal_width",ax=axes[1],data=iris,hue="species")plt.show()(2)sns.lmplot("petal_length","petal_width",hue="species",markers=["x","o","s"],data=iris)plt.show()從回歸圖上可以看出這兩個(gè)特征之間是線性相關(guān)的。第11章B、CDCCimportnumpyasnparr=np.random.rand(10,5)importnumpyasnpmatr1=np.arange(1,5).reshape(2,2)matr2=np.arange(5,9).reshape(2,2)matr1*matr2v=np.array([1,-1,1]).reshape(3,1).TP=(v*v.T)/(v.T*v)Q=np.eye(3,3)-Pdir(np);np.arange?np.array([[1,-1,0]])生成一個(gè)(1,3)的矩陣,np.array([1,-1,0])生成一個(gè)向量。第12章A 2.D 3.D 4.A 5.B 6.B 7.(1)importseabornassnsmpg=sns.load_dataset("mpg")mpg.ndimmpg.size(2)mpg.describe()(3)mpg.groupby('cylinders')['mpg','horsepower'].agg("mean")mpg.groupby('origin')['mpg','horsepower'].agg("mean")第13章1.fromlxmlimportetreeimportrequestsresponse=requests.get("/")response.encoding="utf-8"selector=etree.HTML(response.text)news_text=selector.xpath('//*[@id="u1"]/a[1]/text()')[0]news_url=selector.xpath('//*[@id="u1"]/a[1]/@href')[0]2.創(chuàng)建scrapy項(xiàng)目scrapystartprojectsdWeatherSpider創(chuàng)建爬蟲程序
scrapygenspidereveryCitySD使用瀏覽器打開網(wǎng)址/shaanxi在頁面上單擊鼠標(biāo)右鍵,選擇“查看網(wǎng)頁源代碼”,找到與“城市預(yù)報(bào)列表”對應(yīng)的位置。選擇并打開陜西省內(nèi)任意城市的天氣預(yù)報(bào)頁面,以西安為例。選擇“查看頁面源代碼”,找到與天氣預(yù)報(bào)相對應(yīng)的位置。修改items.py文件,定義要爬蟲的內(nèi)容importscrapyclassSdweatherspiderItem(scrapy.Item): city=scrapy.Field() weather=scrapy.Field()修改爬蟲文件everyCitySD.py#-*-coding:utf-8-*-importscrapyfromreimportfindallimportrequestsfromsdWeatherSpider.itemsimportSdweatherspiderItemclassEverycitysdSpider(scrapy.Spider): allowed_domains=[''] name='everyCitySD' allowed_domains=[''] start_urls=['/'] url=r'/shaanxi' response=requests.get(url) response.encoding="utf-8" contents=response.text pattern='<atitle=".*?"href="(.+?)"target="_blank">.+?</a>' forurlinfindall(pattern,contents): #獲取地市級預(yù)報(bào)的網(wǎng)頁地址 start_urls.append(url) defparse(self,response): item=SdweatherspiderItem() city=response.xpath('//div[@class="crumbsfl"]//a[2]//text()').extract()[0] item['city']=city selector=response.xpath('//ul[@class="tclearfix"]')[0] weather='' forliinselector.xpath('./li'): date=li.xpath('./h1//text()').extract()[0] cloud=li.xpath('./p[@title]//text()').extract()[0] high=li.xpath('./p[@class="tem"]//span//text()').extract()[0] low=li.xpath('./p[@class="tem"]//i//text()').extract()[0] wind=li.xpath('./p[@class="win"]//em//span[1]/@title').extract()[0] wind=wind+li.xpath('./p[@class="win"]//i//text()').extract()[0] weather=weather+date+':'+cloud+','+high+'/'+low+','+wind+'\n' item['weather']=weather return[item]修改pipelines.py文件,把爬取的數(shù)據(jù)寫入文件weather.csvimportcsvclassSdweatherspiderPipeline(object): defprocess_item(self,item,spider): withopen('weather.csv','a',encoding='
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州科技大學(xué)天平學(xué)院《新零售物流管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《統(tǒng)計(jì)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《組織行為學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 木材的研究和學(xué)術(shù)進(jìn)展考核試卷
- 《環(huán)保資料》課件
- 創(chuàng)新技術(shù)應(yīng)用的企業(yè)培訓(xùn)方案考核試卷
- 痛痛病鎘中毒的臨床表現(xiàn)
- 危險(xiǎn)品倉儲安全培訓(xùn)與教育管理考核試卷
- 低溫倉儲與食品產(chǎn)地追溯考核試卷
- 蘇州科技大學(xué)天平學(xué)院《建設(shè)工程法規(guī)》2022-2023學(xué)年第一學(xué)期期末試卷
- DDI-高績效輔導(dǎo)培訓(xùn)課件
- 外研版七年級上冊英語思維導(dǎo)圖各個(gè)單元的內(nèi)容
- 基礎(chǔ)護(hù)理生命體征測量
- 小升初個(gè)人簡歷模板-
- 糕點(diǎn)生產(chǎn)許可證審查細(xì)則
- XX銀行信息系統(tǒng)軟件版本管理辦法
- 平果縣采石場事故應(yīng)急救援演練方案
- 寫作《寫出人物的精神》-部編版語文七年級下冊
- YY/T 1429-2016外科植入物丙烯酸類樹脂骨水泥矯形外科用丙烯酸類樹脂骨水泥彎曲疲勞性能試驗(yàn)方法
- 燒結(jié)過程中氮氧化物生成機(jī)理及控制
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場測量
評論
0/150
提交評論