Python程序設(shè)計基礎(chǔ)實訓(xùn)教程-參考答案 呂宇飛_第1頁
Python程序設(shè)計基礎(chǔ)實訓(xùn)教程-參考答案 呂宇飛_第2頁
Python程序設(shè)計基礎(chǔ)實訓(xùn)教程-參考答案 呂宇飛_第3頁
Python程序設(shè)計基礎(chǔ)實訓(xùn)教程-參考答案 呂宇飛_第4頁
Python程序設(shè)計基礎(chǔ)實訓(xùn)教程-參考答案 呂宇飛_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

.7遞歸算法一、選擇題:1.A2.C3.B4.B5.D6.D7.A8.C二、操作題:1.參考答案deff(s):iflen(s)==0:returnselse:returnf(s[1:])+s[0]s=input('請輸入一個字符串:')print('逆序后為:{0}'.format(f(s)))2.參考答案deff(n):ifn==1:return1else:returnf(n-1)+(-1)**(n+1)*nprint('1-2+3-4+5-6+7-8+9-10+11-12+13={0}'.format(f(13)))

第五章數(shù)據(jù)采集5.1爬取一張網(wǎng)頁選擇題:1、C 2、C 3、A 4、B 5、C 二、操作題1、PyCharm圖形界面安裝bs4①①②③④⑤pip命令安裝bs4:pipinstallbs42、(3)參考答案importrequestsurl='http://localhost:80/index.html'req=requests.get(url)html=req.content.decode()print(html)5.2讀懂一張網(wǎng)頁一、選擇題1.B 2.C3.A4.B5.D6.B7.B8.B9.A10.A11.C12.(1)B (2)C(3)B (4)D二、操作題1、參考答案<!DOCTYPEhtml><htmllang="en"><head><title>hello</title></head><body><h1>你好!世界!</h1></body></html>參考答案(1)略(2)<ulid="nav"><li><ahref="#"id="color">首頁</a></li><li><ahref="#">關(guān)于我們</a></li><li><ahref="#">活動詳情</a></li><li><ahref="#">購買門票</a></li><li><ahref="#">聯(lián)系我們</a></li></ul>(3)參考答案<ul><li>重磅|第五屆“致新獎”主題大賽26強名單</li><li>展商推薦|絕藝——非遺交易的開創(chuàng)者</li><li>第五屆中國工藝“致新獎”大眾投票已開啟</li><li>IAC-SHOW全體員工祝福祖國繁榮昌盛</li><li>集思廣益,提升中國美術(shù)行業(yè)商業(yè)化運作水平</li></ul>(4)<imgsrc="img/9.jpg"/>5.3正則表達(dá)式(一)一、選擇題1.B 2.C 3.A 4.C 5.D6.C 7.B 8.C 9.D 10.D11.C 12.A 13.A 14.B 15.C16.C 17.B 18.B 19.D 20.A21.D 22.A 23.A 24.C二、操作題1.參考答案:re1="\d{6}"或re1="[0-9]{6}"2.參考答案:re1="\d+\.\d+\.\d+\.\d+"或re1=[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+3.參考答案:re1="1[3-9]\d{9}"或re1="1[3-9][0-9]{9}"5.3正則表達(dá)式(二)一、選擇題1.C 2.C 3.B 4.A 5.C6.B 7.A 8.C 9.D 10.C11.D 12.C 13.A 14.C 15.B二、操作題1.參考答案:importrecontent="<pclass='zan'>點贊數(shù):32</p>"result=re.findall(r'\d+',content)print(result)運行程序,輸出結(jié)果為:['32']2.參考答案:importre#家庭購物清單str='買3斤蘋果,2箱牛奶,10個雞蛋;別忘了還有1袋大米' result=re.findall(r'\d+.{3}',str)print(result)運行程序,輸出結(jié)果為:['3斤蘋果','2箱牛奶','10個雞蛋','1袋大米']3.參考答案:importrequests,reurl="/"req=requests.get(url)html=req.content.decode()result=re.findall(r'bold">(.*?)</',html)#【轉(zhuǎn)非貪婪模式】result1=re.findall(r'default">(.*?)</',html)temp=zip(result,result1)dict1=dict(temp)forkey,valueindict1.items():print(key+":"+value)運行程序,輸出結(jié)果為:張三:西湖區(qū)XX小區(qū)22號李四:余杭區(qū)XX小區(qū)609號4.參考答案:importrequests,reurl="/"req=requests.get(url)html=req.content.decode()result=re.findall(r'/[^"]+',html)foriinresult:print(i)運行程序,輸出結(jié)果為:/video/rf.mp4/audio/gb.mp35.4文件的讀寫一、選擇題1.A 2.A3.B4.B5.D6.(1)A(2)B7.D8.(1)D(2)B9.A10.D11.A12.B 13.C14.C 15.B16.D 17.C18.D二、操作題1.參考答案withopen('D:\\邀請函.txt','r',encoding='utf-8')asfile:content=file.read()print(content)2.參考答案withopen('D:\\運動會項目.txt','a',encoding='utf-8')asfile:file.write('\n'+'4*100接力'+'\n'+'4*200接力'+'\n'+'4*400接力')withopen('D:\\運動會項目.txt','r',encoding='utf-8')asfile:print(file.read())3.參考答案①中填入選項( D )②中填入選項( C )③中填入選項(A )④中填入'\n'⑤中填入dic[i]4.參考答案withopen('D:\\添加標(biāo)點.txt','w+',encoding='utf-8')asfile: file.write('教練張東亞外出了') file.seek(6)#1個漢字等于3個字節(jié) t=file.read() data=','+t file.seek(6) file.write(data) file.seek(0) print(file.read())5.略參考答案importrewithopen("D:\\address\\address.html","r",encoding="utf-8")asfile:content=file.read()result=re.findall(r'bold">(.*)</',content)result1=re.findall(r'address">(.*)</',content)withopen("D:\\address\\客戶信息.txt","w",encoding="UTF-8")asfile:foriinrange(len(result)):file.write(result[i]+':'+result1[i]+"\n")運行程序,打開“客戶信息.txt”文件,結(jié)果如下:馮胤:渝中區(qū)中山二路120號何儀:江津區(qū)匯興路166號

第六章文件管理6.1創(chuàng)建文件夾一、選擇題1.D2.D3.C4.C5.A6.B7.D8.D9.C10.A11.D12.C13.D14.D15.B16.B17.C18.D19.C20.C21.D22.C23.C24.D25.D二、操作題1.參考答案#-*-coding:utf-8-*-importosos.chdir("D:\\")os.mkdir("小學(xué)")os.chdir("小學(xué)")os.mkdir("初中")os.chdir("初中")os.mkdir("高中")os.chdir("高中")os.mkdir("大學(xué)")2.參考答案1#-*-coding:utf-8-*-importosos.chdir("D:\\")os.mkdir("浙江省")os.chdir("浙江省")os.mkdir("杭州市")os.mkdir("寧波市")os.chdir("杭州市")os.mkdir("西湖區(qū)")os.mkdir(r"西湖區(qū)\九蓮新村")os.mkdir("余杭區(qū)")os.mkdir(r"余杭區(qū)\復(fù)地上城")os.chdir(r"..\寧波市")os.mkdir("江北區(qū)")os.mkdir(r"江北區(qū)\盛世嘉苑")os.mkdir("鄞州區(qū)")os.mkdir(r"鄞州區(qū)\東裕社區(qū)")參考答案2#-*-coding:utf-8-*-importosos.makedirs(r"D:\浙江省\杭州市\(zhòng)西湖區(qū)\九蓮新村")os.makedirs(r"D:\浙江省\杭州市\(zhòng)余杭區(qū)\復(fù)地上城")os.makedirs(r"D:\浙江省\寧波市\(zhòng)江北區(qū)\盛世嘉苑")os.makedirs(r"D:\浙江省\寧波市\(zhòng)鄞州區(qū)\東裕社區(qū)")3.參考答案#-*-coding:utf-8-*-importosos.chdir("D:\\")os.mkdir("唱歌比賽")os.chdir("唱歌比賽")foriinrange(1,16):os.mkdir("第"+str(i)+"組")4.參考答案1#-*-coding:utf-8-*-importosqu=['拱墅區(qū)','西湖區(qū)']jd=[['半山','長慶','朝暉','潮鳴','崇賢','大關(guān)','德勝','德勝東','丁橋','拱宸橋','勾莊','和睦','和平'],['翠苑','古蕩','黃龍','湖墅','嘉綠','九蓮','良渚','留下','清波','三墩','申花','文教','文三','文三西路']]foriinrange(2):p1="D:\\"+qu[i]os.mkdir(p1)forkinjd[i]:p2=p1+'\\'+k+"街道"os.mkdir(p2)4.參考答案2#-*-coding:utf-8-*-importosqu=['拱墅區(qū)','西湖區(qū)']gs=['半山','長慶','朝暉','潮鳴','崇賢','大關(guān)','德勝','德勝東','丁橋','拱宸橋','勾莊','和睦','和平']xh=['翠苑','古蕩','黃龍','湖墅','嘉綠','九蓮','良渚','留下','清波','三墩','申花','文教','文三','文三西路']foriinqu:os.mkdir("D:\\"+i)forkings:p='D:\\拱墅區(qū)\\'+k+"街道"os.mkdir(p)forkinxh:p='D:\\西湖區(qū)\\'+k+"街道"os.mkdir(p)5.(一)程序注釋importos#導(dǎo)入os模塊print(os.getcwd())#獲取當(dāng)前位置并輸出os.chdir("D:")#切換當(dāng)前文件夾到D盤print(os.getcwd())#獲取當(dāng)前位置并輸出os.makedirs(r'D:\浙江\杭州')#創(chuàng)建級聯(lián)文件夾D:\浙江\杭州os.chdir(r'D:\浙江\杭州')#切換當(dāng)前文件夾到“D:\浙江\杭州”print(os.getcwd())#獲取當(dāng)前位置并輸出os.mkdir('拱墅區(qū)')#在“D:\浙江\杭州”下創(chuàng)建子文件夾'拱墅區(qū)'os.chdir(r'..')#退到上一層目錄“D:\浙江”ifnotos.path.isdir('寧波'):#如果“D:\浙江”下不存在文件夾“寧波”os.mkdir('寧波')#新建文件夾“寧波”path=r'D:\江蘇\南京'#指定路徑'D:\江蘇\南京'ifnotos.path.exists(path):#如果不存在路徑'D:\江蘇\南京'os.makedirs(path)#創(chuàng)建該級聯(lián)文件夾foriinrange(5,10):#循環(huán)變量i值分別為5、6、7、8、9os.makedirs(path+'\\'+'區(qū)'+str(i))#創(chuàng)建文件夾“5區(qū)”~"9區(qū)"(二)目錄樹6.2整理文件與文件夾一、選擇題1.A2.B3.D4.C5.B6.C7.C8.B9.B10.A11.D12.C13.A14.D15.C16.B17.A18.C19.A20.C21.D22.A23.C24.C25.C二、操作題1.(1)運行結(jié)果④0409C:0409\cliconf.chm⑤C:\Windows\Help\mui\0409\cliconf.chm(2)注釋答案:①把路徑按“\”切割,得到各字符串組成的列表②拼接“C:,0409,cliconf.chm”成新路徑③把x列表中的字符串用“\”連接成路徑2.(1)程序填空答案:①os.listdir(p)②fn.split('.')③lb[1]④kzm.upper()⑤move(fn,dxkzm)(2)運行結(jié)果:['BTL','CVB','dbf','DLL','exe','ini','jpg','txt']3.(1)程序填空答案①os,shutil ②os.path.join(p,yf)③notos.path.exists(pyf)④os.mkdir(pyf)⑤os.path.join(p,fn)⑥os.path.isfile(pfn)⑦basename(pfn)⑧splitext(f1)[0] ⑨split('年')[1]⑩path,dirs,filesin(2)運行結(jié)果:D:\按月份備份\11月[]['2023年11月.xlsx']D:\按月份備份\1月[]['2022年1月.xlsx','2023年1月.xlsx','2024年1月.xlsx']D:\按月份備份\4月[]['2022年4月.xlsx','2023年4月.xlsx','2024年4月.xlsx']D:\按月份備份\7月[]['2022年7月.xlsx','2023年7月.xlsx','2024年7月.xlsx']4.(1)程序填空答案:①shutil.copytree(p2,p) ②['中文','英文','法文','俄文']③pyy=os.path.join(p,yy) ④shutil.move(pfn,pyy)⑤print(p3,ds,fs)(2)程序運行結(jié)果答案D:\文件歸類['中文','俄文','法文','英文'][]D:\文件歸類\中文[]['中文1.doc','中文2.doc','中文3.doc','中文4.doc','中文5.doc']D:\文件歸類\俄文[]['俄文1.doc','俄文2.doc','俄文3.doc','俄文4.doc','俄文5.doc']D:\文件歸類\法文[]['法文1.doc','法文2.doc','法文3.doc','法文4.doc','法文5.doc']D:\文件歸類\英文[]['英文1.doc','英文2.doc','英文3.doc','英文4.doc','英文5.doc']5.(1)參考答案:importos,shutilp2=r"D:\設(shè)計素材"p=r"D:\多媒體"ifnotos.path.exists(p):shutil.copytree(p2,p)os.chdir(p)forfninos.listdir(p):ifos.path.isfile(fn):lb=fn.split('.')ext=lb[1].lower()#擴展名小寫ifextin['gif']:shutil.move(fn,"動畫")elifextin['jpg','bmp','png']:shutil.move(fn,"圖片")elifextin['avi','wmv','mp4']:shutil.move(fn,"視頻")forpath,dirs,filesinos.walk(p):print(path,dirs,files)(2)運行結(jié)果:D:\多媒體['動畫','圖片','視頻'][]D:\多媒體\動畫[]['cool1.gif','cool11.gif','cool12.gif','cool17.gif','cool4.gif']D:\多媒體\圖片[]['cool10.png','cool13.jpg','cool14.png','cool16.bmp','cool18.bmp','cool2.jpg','cool20.png','cool3.bmp','cool5.jpg','cool6.bmp','cool7.jpg']D:\多媒體\視頻[]['cool15.avi','cool19.avi','cool8.mp4','cool9.wmv']6.3重命名批量文件一、選擇題1.D2.B3.C4.A5.B6.D7.C8.B9.A10.D11.D12.C13.A14.D15.D16.D17.C18.B19.B20.C21.D二、操作題1.參考答案:#-*-encoding=utf-8-*-importos,shutilpath="D:\文本"ifnotos.path.exists(path):os.mkdir(path)#創(chuàng)建“文本”文件夾os.chdir(path) #把“文本”設(shè)置為當(dāng)前文件夾foriinrange(1,21): #[0,20]file=open(str(i)+".txt",'w') #創(chuàng)建空文件如:2.txtfile.close() #關(guān)閉文件print(os.listdir(path)) #查看“文本”文件夾2.參考答案:#-*-encoding=utf-8-*-importos,shutil,random #導(dǎo)入模塊path=r"D:\文本"path2="D:\文本2"ifnotos.path.exists(path2): #如果“文本2”不存在shutil.copytree(path,path2) #復(fù)制“文本”成“文本2”os.chdir(path2) #當(dāng)前文件夾切換成“文本2”forfninos.listdir(path2): #遍歷未修改前的文件名fn2='wb'+fn #新文件名wb1.txtos.rename(fn,fn2)#改名print(os.listdir(path2)) #查看變化后的文件夾3.(1)程序填空答案①importos,shutil,random ②shutil.copytree(path,path2)③os.chdir(path2)④os.listdir(path2)⑤sz=str(random.randint(21,99))⑥szs.append(sz)⑦sz+'.txt' ⑧os.rename(fn,fn2)⑨szs[i]+=".txt"⑩os.listdir(path2)3.(2)程序運行結(jié)果:['1.txt','10.txt','11.txt','12.txt','13.txt','14.txt','15.txt','16.txt','17.txt','18.txt','19.txt','2.txt','20.txt','3.txt','4.txt','5.txt','6.txt','7.txt','8.txt','9.txt']['69.txt','67.txt','70.txt','92.txt','81.txt','84.txt','79.txt','75.txt','26.txt','55.txt','35.txt','29.txt','21.txt','37.txt','23.txt','77.txt','24.txt','74.txt','58.txt','38.txt']['21.txt','23.txt','24.txt','26.txt','29.txt','35.txt','37.txt','38.txt','55.txt','58.txt','67.txt','69.txt','70.txt','74.txt','75.txt','77.txt','79.txt','81.txt','84.txt','92.txt']4.參考答案:importos,shutilwithopen('D:\\名單.txt','r',encoding='utf-8')asf:#讀取文件md2=f.read() #字符串md=md2.split('\n') md[0]=md[0][-3:] #名字第一個有亂碼,取出最后3個字符print(md) #顯示名單內(nèi)容p2="D:\\文本4"shutil.copytree("D:\\文本",p2)#復(fù)制”文本“文件夾為”文件4“os.chdir(p2) #切換”文本4“成當(dāng)前目錄未fns=os.listdir(p2) #系列文件名print([iforiinrange(1,21)]) #數(shù)字列表foriinrange(20):os.rename(fns[i],md[i]+".txt")#重命名1.txt-->姚虹虹.txtprint(os.listdir(p2)) #查看改名情況第七章快捷辦公7.1讀取Excel文件的數(shù)據(jù)一、選擇題:1.B 2.C 3.B 4.D 5.A 6.D 7.D 8.A 9.B 10.A 11.D 12.B二、操作題:1.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\公司月度財務(wù)報告.xlsx")ws=wb.activeformyRowinws.rows:ifmyRow[1].value=="收入合計:":print(myRow[2].value)2.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\員工名單.xlsx")ws=wb.activeformyRowinws.rows:formyCellinmyRow:print(myCell.value,end="")print()3.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\產(chǎn)品銷售數(shù)據(jù).xlsx")ws=wb.activeformyRowinws.rows:ifmyRow[1].value!="水果名稱":print(myRow[1].value+"銷售數(shù)量:"+str(myRow[2].value)+"kg")4.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\學(xué)生成績.xlsx")sheet_chinese=wb["語文"]sheet_math=wb["數(shù)學(xué)"]scores={}formyRowinsheet_chinese.rows:ifmyRow[0].value!="姓名":scores[myRow[0].value]="語文:"+str(myRow[2].value)formyRowinsheet_math.rows:ifmyRow[0].value!="姓名":scores[myRow[0].value]+="數(shù)學(xué):"+str(myRow[2].value)forname,scoreinscores.items():print(name+score)7.2數(shù)據(jù)的寫入和操作一、選擇題:1.C 2.B 3.B 4.B 5.A 6.A 7.A 8.C 9.D 10.C 11.D 12.C 13.C 14.B 15.B 16.C 17.D 18.B二、操作題:1.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\支出數(shù)據(jù).xlsx")ws=wb.activews["B2"].value=12000ws["B15"].value+=2000wb.save(r"D:\支出數(shù)據(jù).xlsx")2.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\銷售數(shù)據(jù).xlsx")ws=wb["第一季度"]s=0foriinrange(ws.max_row,1,-1):ifws.cell(i,3).value=="食品":ws.delete_rows(i)else:s+=ws.cell(i,4).valuews.append(["","","非食品類銷售總計",s])wb.save(r"D:\銷售數(shù)據(jù).xlsx")3.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\學(xué)生成績.xlsx")ws=wb["語文成績"]s=0k=0foriinrange(2,ws.max_row+1):ifws.cell(i,2).value<60:ws.cell(i,3).value="不及格"else:s+=ws.cell(i,2).valuek+=1ws.append(["及格的學(xué)生的平均分",round(s/k,2)])wb.save(r"D:\學(xué)生成績.xlsx")4.參考答案importopenpyxlwb=openpyxl.load_workbook(r"D:\倉儲中心.xlsx")ws=wb["庫存"]foriinrange(2,ws.max_row+1):ws.cell(i,3).value*=2ws.insert_rows(11)data=["A010","健康產(chǎn)品-維生素",90,2023/9/12,"健康先鋒"]foriinrange(len(data)):ws.cell(row=11,column=i+1).value=data[i]foriinrange(2,ws.max_row+1):ifws.cell(i,3).value<40:ws.cell(i,6).value="需訂貨"wb.save(r"D:\倉儲中心.xlsx")7.3批量合并Excel文件一、選擇題:1.B 2.C3.A4.D5.D6.A7.D8.C9.A10.D11.B12.D13.D14.A 15.A16.C二、操作題:1.參考答案importos,openpyxlNewBook=openpyxl.Workbook()NewBook.remove(NewBook["Sheet"])folder_path='D:\\銷售業(yè)績'xlsx_files=[]forfileinos.listdir(folder_path):iffile.endswith('.xlsx'):xlsx_files.append(file)forfileinxlsx_files:wb=openpyxl.load_workbook("D:\\銷售業(yè)績\\"+file)ws=wb.activeNewSheet=NewBook.create_sheet(ws.title)forRowinws.rows:TempList=[]forCellinRow:TempList.append(Cell.value)NewSheet.append(TempList)s=0k=NewSheet.max_row+1foriinrange(2,k):s+=NewSheet["C"+str(i)].valueNewSheet.cell(k,2).value="銷售總額"NewSheet.cell(k,3).value=ssheetNames=NewBook.sheetnamesws=NewBook.copy_worksheet(NewBook["一季度"])ws.title="匯總"ws["C1"].value="年度業(yè)績"foriinrange(2,ws.max_row+1):fx="="forjinsheetNames:fx+=j+"!C"+str(i)+"+"ws["C"+str(i)].value=fx[:-1]NewBook.save("D:\\銷售業(yè)績\\業(yè)績匯總.xlsx")2.參考答案importos,openpyxlNewBook=openpyxl.Workbook()NewBook.remove(NewBook["Sheet"])folder_path=‘D:\\健身活動記錄'xlsx_files=[]forfileinos.listdir(folder_path):iffile.endswith('.xlsx'):xlsx_files.append(file)forfileinxlsx_files:wb=openpyxl.load_workbook("D:\\健身活動記錄\\"+file)ws=wb.activeNewSheet=NewBook.create_sheet(ws.title)forRowinws.rows:TempList=[]forCellinRow:TempList.append(Cell.value)NewSheet.append(TempList)s=0k=NewSheet.max_row+1foriinrange(2,k):s+=NewSheet["C"+str(i)].valueNewSheet.cell(k,2).value="平均健身次數(shù)"NewSheet.cell(k,3).value=s/(k-2)NewSheet.cell(1,4).value="活躍會員"foriinrange(2,k):ifNewSheet.cell(i,3).value>NewSheet.cell(k,3).value:NewSheet.cell(i,4).value=1else:NewSheet.cell(i,4).value=0sheetNames=NewBook.sheetnamesws=NewBook.copy_worksheet(NewBook["Q1"])ws.delete_rows(ws.max_row)ws.delete_cols(4)ws.title="年度健身數(shù)據(jù)匯總"ws["C1"].value="活躍會員總次數(shù)"foriinrange(2,ws.max_row+1):fx="="forjinsheetNames:fx+=j+"!D"+str(i)+"+"ws["C"+str(i)].value=fx[:-1]NewBook.save(“D:\\健身活動記錄\\年度會員健身數(shù)據(jù)匯總.xlsx")7.4批量合并多個Excel文件到工作表一、選擇題:1.C2.A3.A4.C5.A6.A7.A8.C9.B10.C二、操作題:1.參考答案importos,openpyxlNewBook=openpyxl.Workbook()NewSheet=NewBook.activeNewSheet.title="BMI計算"wb=openpyxl.load_workbook("D:\\健康數(shù)據(jù)\\身高.xlsx")ws=wb.activeforrowinws.rows:TempList=[]forcellinrow[:3]:TempList.append(cell.value)NewSheet.append(TempList)wb=openpyxl.load_workbook("D:\\健康數(shù)據(jù)\\體重.xlsx")ws=wb.activek=ws.max_column+1forrowinws.rows:forcellinrow[0:]:NewSheet.cell(cell.row,k).value=cell.valueNewSheet.cell(1,5).value="BMI指數(shù)"foriinrange(2,NewSheet.max_row+1):height=NewSheet.cell(i,3).value/100weight=NewSheet.cell(i,4).valueNewSheet.cell(i,5).value=weight/height**2NewBook.save("D:\\健康數(shù)據(jù)\\健康數(shù)據(jù)匯總.xlsx")2.參考答案importos,openpyxlNewBook=openpyxl.Workbook()NewSheet=NewBook.activeNewSheet.title="月度績效"wb=openpyxl.load_workbook("D:\\月度績效\\銷售數(shù)據(jù).xlsx")ws=wb.activeforrowinws.rows:TempList=[]forcellinrow[:2]:TempList.append(cell.value)NewSheet.append(TempList)folder_path="D:\\月度績效"xlsx_files=[]forfileinos.listdir(folder_path):iffile.endswith('.xlsx'):xlsx_files.append(file)forfileinxlsx_files:wb=openpyxl.load_workbook(folder_path+"\\"+file)ws=wb.activek=NewSheet.max_column+1forcellinws['C']:NewSheet.cell(cell.row,k).value=cell.valueforcellinNewSheet["C1:E1"][0]:ifcell.value=="銷售額":xs=cell.columnelifcell.value=="客戶滿意度":kh=cell.columnelse:cq=cell.columncol=["","A","B","C","D","E"]forrowinrange(2,NewSheet.max_row+1):NewSheet.cell(row,6).value="="+col[xs]+str(row)+"/MAX($"+col[xs]+"$"+str(row)+":$"+col[xs]+"$"+str(NewSheet.max_row)+")*50"NewSheet.cell(row,7).value="="+col[kh]+str(row)+"/5*30"NewSheet.cell(row,8).value="=IF("+col[cq]+str(row)+">20,20,IF("+col[cq]+str(row)+"<10,0,"+col[cq]+str(row)+"*2-20))"NewSheet.cell(row,9).value="=SUM(F"+str(row)+":H"+str(row)+")"NewSheet.cell(1,6).value="銷售額核算"NewSheet.cell(1,7).value="客戶滿意度核算"NewSheet.cell(1,8).value="出勤情況核算"NewSheet.cell(1,9).value="績效評分"NewBook.save("D:\\月度績效\\員工月度績效報告.xlsx")

第八章爬蟲應(yīng)用8.1爬取一節(jié)小說一、選擇題:1.B2.D3.C4.D5.C6.D7.A8.C9.D10.A11.B12.B13.B14.D15.C二、操作題:1.參考答案:#-*-encoding=utf-8-*-importos,requestsp=r'/index.html'req=requests.get(p)p2=r"D:\倚天屠龍記"ifnotos.path.exists(p2):os.mkdir(p2)withopen(r'D:\倚天屠龍記\index.html','wb')asf:f.write(req.content)2.參考答案:#-*-encoding=utf-8-*-importos,requestsfrombs4importBeautifulSoupp=r'/index.html'req=requests.get(p)#從服務(wù)器讀取網(wǎng)頁內(nèi)容html=req.content.decode()#解碼成字符串soup=BeautifulSoup(html,'html.parser')#封裝成標(biāo)準(zhǔn)的標(biāo)簽樹t1=soup.find_all('p',attrs={'class':'time'})[1]#<pclass="time">出版社:三聯(lián)出版社</p>t2=t1.text#出版社:三聯(lián)出版社print(t2[-5:])#三聯(lián)出版社。3.程序填空①frombs4importBeautifulSoup②req=requests.get(wz)③req.content.decode()④BeautifulSoup⑤soup.find('ul',attrs={'class':'mlist'})⑥t1.find_all('li')⑦li.text+'\n'⑧notos.path.exists(p2)⑨open(p2+'\目錄.txt','w')⑩write(ml)8.2爬取一部小說一、選擇題1.C2.C3.C4.A5.A6.B7.C8.B9.B10.D11.C12.C13.A14.A15.B16.A17.D18.D二、操作題1.參考答案:importos,requestsfrombs4importBeautifulSoupp=r'/'req=requests.get(p+'index.html')html=req.content.decode()soup=BeautifulSoup(html,'html.parser')img1=soup.select_one("#ytt")['src']#方法1img2=soup.select_one(".yt>#ytt")['src']#方法2img3=soup.select_one(".booklist#ytt")['src']#方法3img4=soup.select_one("#pu_box>.main>.booklistimg")['src']#方法4img5=soup.select_one(".pu_box.booklist.yt>img")['src']#方法5print(img1,img2,img3,img4,img5)2.參考答案:importos,requestsfrombs4importBeautifulSoupp=r'/'req=requests.get(p+'index.html')html=req.content.decode()soup=BeautifulSoup(html,'html.parser')cljs=soup.select(".main>div>ul[class='mlist']a")#<ul>下超鏈接片段集合foriincljs:#遍歷超鏈接代碼判斷print(p+i['href'])#超鏈接路徑+鏈接地址3.程序填空答案①requests.get(p+'index.html') ②req.content.decode()③#sy>audio>source ④t1['src']⑤p+t2 ⑥r(nóng)equests.get(clj)⑦content ⑧os.path.basename(clj)⑨pmp3,'wb' ⑩mp3

8.3爬取圖書暢銷榜一、選擇題1.A2.B3.C4.A5.D6.B7.A8.D9.A10.C11.A12.C13.D14.B15.C16.C17.D18.D二、操作題1.參考答案:#-*-encoding=utf-8-*-importrequestsfrombs4importBeautifulSoupurl="/"UA="Mozilla/5.0(WindowsNT6.1;Win64;x64) AppleWebKit/537.36(KHTML,like Gecko)Chrome/90.0.4430.212 Safari/537.36"header={"User-Agent":UA,"Referer":url}req=requests.get(url,headers=header)html=req.content.decode()soup=BeautifulSoup(html,"html.parser")cakesSoup=soup.select("body>ul>li")#獲取蛋糕名cakesName=[]forcakeincakesSoup:cakesName.append(cake.select(".title")[0].text)#獲取蛋糕售價cakesPrice=[]forcakeincakesSoup:cakesPrice.append(cake.select(".sub")[0].text.split(":")[1])#將蛋糕名、蛋糕售價打包形成新列表并輸出cakes=list(zip(cakesName,cakesPrice))forcakeincakes:print("蛋糕名:"+cake[0]+"\t"+"售價:"+cake[1])2.參考答案:#-*-encoding=utf-8-*-importrequestsfrombs4importBeautifulSoupurl="/"UA="Mozilla/5.0(WindowsNT6.1;Win64;x64) AppleWebKit/537.36(KHTML,like Gecko)Chrome/90.0.4430.212 Safari/537.36"header={"User-Agent":UA,"Referer":url}req=requests.get(url,headers=header)html=req.content.decode()soup=BeautifulSoup(html,"html.parser")spotsSoup=soup.select("body>ul>li")#獲取景區(qū)名spotsName=[]forspotinspotsSoup:spotsName.append(spot.select(".title")[0].text)#獲取景區(qū)評分spotsScore=[]forspotinspotsSoup:spotsScore.append(spot.select(".title1")[0].text.split(":")[1])#獲取景區(qū)地址spotsPrice=[]forspotinspotsSoup:spotsPrice.append(spot.select(".sub")[0].text.split(":")[1])#將景區(qū)名、景區(qū)評分、景區(qū)地址打包形成新列表并輸出spot

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論