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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.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="#">關于我們</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>集思廣益,提升中國美術行業(yè)商業(yè)化運作水平</li></ul>(4)<imgsrc="img/9.jpg"/>5.3正則表達式(一)一、選擇題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正則表達式(二)一、選擇題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)運行程序,輸出結果為:['32']2.參考答案:importre#家庭購物清單str='買3斤蘋果,2箱牛奶,10個雞蛋;別忘了還有1袋大米' result=re.findall(r'\d+.{3}',str)print(result)運行程序,輸出結果為:['3斤蘋果','2箱牛奶','10個雞蛋','1袋大米']3.參考答案:importrequests,reurl="/"req=requests.get(url)html=req.content.decode()result=re.findall(r'bold">(.*?)</',html)#【轉非貪婪模式】result1=re.findall(r'default">(.*?)</',html)temp=zip(result,result1)dict1=dict(temp)forkey,valueindict1.items():print(key+":"+value)運行程序,輸出結果為:張三:西湖區(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)運行程序,輸出結果為:/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:\\添加標點.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”文件,結果如下:馮胤:渝中區(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("小學")os.chdir("小學")os.mkdir("初中")os.chdir("初中")os.mkdir("高中")os.chdir("高中")os.mkdir("大學")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ū)\復地上城")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ū)\復地上城")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=[['半山','長慶','朝暉','潮鳴','崇賢','大關','德勝','德勝東','丁橋','拱宸橋','勾莊','和睦','和平'],['翠苑','古蕩','黃龍','湖墅','嘉綠','九蓮','良渚','留下','清波','三墩','申花','文教','文三','文三西路']]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=['半山','長慶','朝暉','潮鳴','崇賢','大關','德勝','德勝東','丁橋','拱宸橋','勾莊','和睦','和平']xh=['翠苑','古蕩','黃龍','湖墅','嘉綠','九蓮','良渚','留下','清波','三墩','申花','文教','文三','文三西路']foriinqu:os.mkdir("D:\\"+i)forkings:p='D:\\拱墅區(qū)\\'+k+"街道"os.mkdir(p)forkinxh:p='D:\\西湖區(qū)\\'+k+"街道"os.mkdir(p)5.(一)程序注釋importos#導入os模塊print(os.getcwd())#獲取當前位置并輸出os.chdir("D:")#切換當前文件夾到D盤print(os.getcwd())#獲取當前位置并輸出os.makedirs(r'D:\浙江\杭州')#創(chuàng)建級聯(lián)文件夾D:\浙江\杭州os.chdir(r'D:\浙江\杭州')#切換當前文件夾到“D:\浙江\杭州”print(os.getcwd())#獲取當前位置并輸出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)運行結果④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)運行結果:['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)運行結果: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)程序運行結果答案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:\設計素材"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)運行結果: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) #把“文本”設置為當前文件夾foriinrange(1,21): #[0,20]file=open(str(i)+".txt",'w') #創(chuàng)建空文件如:2.txtfile.close() #關閉文件print(os.listdir(path)) #查看“文本”文件夾2.參考答案:#-*-encoding=utf-8-*-importos,shutil,random #導入模塊path=r"D:\文本"path2="D:\文本2"ifnotos.path.exists(path2): #如果“文本2”不存在shutil.copytree(path,path2) #復制“文本”成“文本2”os.chdir(path2) #當前文件夾切換成“文本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)程序運行結果:['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) #顯示名單內容p2="D:\\文本4"shutil.copytree("D:\\文本",p2)#復制”文本“文件夾為”文件4“os.chdir(p2) #切換”文本4“成當前目錄未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:\公司月度財務報告.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:\產品銷售數(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:\學生成績.xlsx")sheet_chinese=wb["語文"]sheet_math=wb["數(shù)學"]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ù)學:"+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:\學生成績.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(["及格的學生的平均分",round(s/k,2)])wb.save(r"D:\學生成績.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","健康產品-維生素",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")

第八章爬蟲應用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ǎng)頁內容html=req.content.decode()#解碼成字符串soup=BeautifulSoup(html,'html.parser')#封裝成標準的標簽樹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 ⑥requests.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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論