版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【崗課賽證融合練習題·標準版】一、單選題數據倉庫的最終目的是()。答案:B.支持管理決策解析:數據倉庫的核心使命是把分散的業(yè)務數據經過抽取、清洗、整合后,形成面向主題、隨時間變化、穩(wěn)定的數據集合,為管理層的決策分析提供依據。因此“支持管理決策”是其最終目的,其余選項只是過程中的階段性任務或手段。爬蟲從互聯(lián)網角度可劃分為()部分。答案:A.4解析:通用網絡爬蟲體系結構通常分為4大部分——URL管理器(URL管理隊列)、網頁下載器(HTTP請求與獲取)、網頁解析器(HTML/JSON解析)、數據存儲器(持久化到文件或數據庫)。技能大賽官方題庫亦采用此四分法。在GFS(GoogleFileSystem)文件系統(tǒng)中,應采用()方式來保證數據的可靠性。答案:A.冗余儲存解析:GFS通過分塊(chunk)并以多副本(默認3份)跨節(jié)點冗余存儲來抵御單點故障,實現高可用與容錯。因此“冗余儲存”是其可靠性設計的核心,其余選項并非GFS的專用術語或機制。二、多選題大數據的特征有哪些?答案:A.大量(Volume)B.多樣(Variety)C.高速(Velocity)D.價值(Value)解析:業(yè)界公認的“4V”模型即Volume(數據規(guī)模大)、Variety(類型多)、Velocity(產生與處理速度快)、Value(價值密度低但潛在價值高)。國賽官方評分標準中,四個選項全部正確才得分。以下關于Hadoop的說法中,正確的有()。答案:B.Hadoop通過存儲冗余數據來保證數據的安全性C.Hadoop采用分布式存儲方式來提高數據讀寫速度和擴大存儲容量D.Hadoop采用MapReduce整合分布式文件系統(tǒng)上的數據,保證高速分析處理數據解析:A選項錯誤:Hadoop的核心是HDFS(分布式文件系統(tǒng))和MapReduce(分布式計算框架),而非“數據的冗余存儲”本身,冗余只是HDFS的容錯手段。B、C、D三項均正確:B項說明HDFS利用多副本冗余保證安全;C項指出HDFS通過橫向擴展節(jié)點實現高速并發(fā)讀寫與容量線性增長;D項表明MapReduce框架把計算推向數據所在節(jié)點,實現分布式并行處理,確保分析效率。題目1答案:B題目2答案:C。pandas主要用于數據預處理、處理與分析等環(huán)節(jié),而requests、BeautifulSoup、pymysql常用于數據采集。題目3答案:A。numpy庫提供了高效的數值計算功能。題目4答案:B題目5答案:C簡答題答案1、大數據的“4V”特征分別是什么?請舉例說明和解釋大數據的“4V”特征分別是:Volume(數據體量大):隨著信息技術的發(fā)展,數據產生的速度極快,規(guī)模巨大。例如,電商平臺每天會產生海量的交易數據,包括訂單信息、用戶瀏覽記錄、商品評價等。一個大型電商平臺一天的交易訂單可能就達到數百萬甚至數千萬筆,這些數據存儲起來需要龐大的存儲空間。Variety(數據多樣性):數據的類型多種多樣,不僅包括傳統(tǒng)的結構化數據(如數據庫中的表格數據),還包括半結構化數據(如XML、JSON格式的數據)和非結構化數據(如文本、圖片、視頻等)。以社交媒體平臺為例,用戶發(fā)布的文字動態(tài)屬于文本非結構化數據,上傳的照片和視頻屬于多媒體非結構化數據,而用戶的個人信息可能以結構化數據的形式存儲在數據庫中。Velocity(數據處理速度快):在當今快節(jié)奏的時代,數據的產生和變化速度非???,需要及時處理和分析。例如,金融市場中的股票交易數據,價格瞬息萬變,交易系統(tǒng)需要在極短的時間內處理大量的交易指令和行情數據,以確保交易的順利進行和投資者的決策及時性。Value(數據價值密度低):雖然數據量巨大,但其中有價值的信息占比相對較低。例如,在視頻監(jiān)控領域,攝像頭會不間斷地錄制視頻,產生大量的視頻數據,但其中可能只有極少數的片段包含有價值的信息,如犯罪行為、異常事件等。需要通過有效的數據挖掘和分析技術,從海量數據中提取出有價值的信息。2、列舉大數據的應用價值,探討大數據的應用場景大數據的應用價值主要體現在以下幾個方面:優(yōu)化決策:通過對大量數據的分析,企業(yè)和組織可以更全面、準確地了解市場趨勢、客戶需求和自身運營狀況,從而做出更明智的決策。例如,企業(yè)可以根據銷售數據和市場調研數據,調整產品策略和營銷策略。提高效率:大數據技術可以自動化處理和分析大量數據,減少人工操作和處理時間,提高工作效率。例如,在物流行業(yè),通過對物流數據的分析和優(yōu)化,可以實現運輸路線的優(yōu)化和倉儲管理的智能化。創(chuàng)新業(yè)務模式:大數據為企業(yè)提供了新的商業(yè)機會和業(yè)務模式。例如,共享經濟模式就是基于大數據技術,通過對用戶需求和資源分布的分析,實現資源的高效共享和利用。風險預測與管理:通過對歷史數據和實時數據的分析,可以預測潛在的風險,并采取相應的措施進行管理和防范。例如,金融機構可以通過對客戶信用數據和市場數據的分析,評估客戶的信用風險,制定合理的信貸政策。大數據的應用場景非常廣泛,以下是一些常見的應用場景:金融領域:用于信貸風險評估、欺詐檢測、投資決策等。例如,銀行可以通過分析客戶的信用記錄、收入情況、消費行為等數據,評估客戶的信用風險,決定是否給予貸款以及貸款額度。醫(yī)療領域:輔助疾病診斷、治療方案制定、醫(yī)療質量評估等。例如,通過對大量病歷數據和醫(yī)學研究數據的分析,醫(yī)生可以更準確地診斷疾病,制定個性化的治療方案。零售領域:進行精準營銷、庫存管理、商品推薦等。例如,電商平臺可以根據用戶的瀏覽記錄、購買歷史等數據,為用戶推薦個性化的商品,提高用戶的購買轉化率。交通領域:實現智能交通管理、路況預測、出行規(guī)劃等。例如,交通管理部門可以通過對交通流量數據、車輛行駛數據等的分析,優(yōu)化交通信號燈的設置,緩解交通擁堵。3、談談對財務大數據的理解財務大數據是指與財務活動相關的海量、多樣、高速產生的數據集合,它是大數據技術在財務領域的具體應用。從數據來源來看,財務大數據不僅包括企業(yè)內部的財務數據,如會計憑證、財務報表、預算數據等,還涵蓋了企業(yè)外部的數據,如市場行情數據、宏觀經濟數據、行業(yè)競爭數據等。這些數據來源廣泛,類型多樣,既有結構化數據,也有非結構化數據。從特點方面,財務大數據具有大數據的一般特征,如體量大、多樣性、速度快和價值密度低。同時,它還具有專業(yè)性和敏感性的特點,與企業(yè)的財務狀況和經營成果密切相關,涉及到企業(yè)的商業(yè)機密和核心利益。從應用價值來講,財務大數據對企業(yè)的財務管理和決策具有重要意義。它可以幫助企業(yè)優(yōu)化財務流程,例如實現財務報表的自動生成、財務核算的自動化,提高財務工作的效率和準確性;支持財務分析和預測,通過對大量財務數據和相關外部數據的分析,企業(yè)可以更準確地評估自身的財務狀況和經營風險,預測未來的發(fā)展趨勢,為企業(yè)的戰(zhàn)略決策提供有力支持;還能助力企業(yè)進行成本控制和績效管理,通過對成本數據的深入分析,找出成本控制的關鍵點,優(yōu)化資源配置,提高企業(yè)的經濟效益??傊攧沾髷祿峭苿悠髽I(yè)財務管理創(chuàng)新和升級的重要力量,企業(yè)需要充分利用財務大數據技術,挖掘數據價值,提升財務管理水平和競爭力。【崗課賽證融合練習題·標準答案與解析】一、單選題下列關于JupyterNotebook的說法,哪個選項不正確?答案:B解析:A正確——JupyterNotebook支持在單元格內直接編寫并運行代碼,運行結果即時呈現在網頁中。B不正確——安裝Anaconda后,JupyterNotebook已經作為默認組件集成在內,無需另行下載安裝。C正確——JupyterNotebook確實是Anaconda自帶的代碼編輯器/交互環(huán)境之一。D正確——JupyterNotebook通過瀏覽器以網頁形式提供服務,因此本質上是一個網頁程序。故選B。二、多選題關于JupyterNotebook,以下哪些說法是正確的?答案:A、B、D解析:A正確——Anaconda安裝完成后,JupyterNotebook已默認包含。B正確——JupyterNotebook啟動后通過瀏覽器打開,確為網頁程序。C錯誤——JupyterNotebook的核心功能就是可在頁面中直接編寫、運行代碼并查看結果。D正確——JupyterNotebook提供交互式編程體驗,支持逐步執(zhí)行、實時可視化等功能。一、填空題1.C2.D3.A【崗課賽證融合練習題·標準答案與解析】一、單選題下面代碼中,print()輸出結果是什么?答案:A.兩個月收入:4000解析:print()函數依次輸出各參數,以空格分隔;months*money結果為4000,故最終顯示“兩個月收入:4000”。money=100,money=55+44,此時money的值為()。答案:C.99解析:賦值語句按順序執(zhí)行:先money=100,再money=55+44;55+44=99,變量最終取最新值99。下列哪個是Python中的變量賦值語句?答案:A.a=10解析:Python使用“=”進行賦值;B的“<-”是R語言語法;C的“:=”僅用于Python3.8+的海象表達式(帶冒號),不是普通賦值;D的“=:”非法。下列哪個是Python中的整數類型?答案:B.int解析:int表示整數;float表示浮點數;string為字符串;Bool為布爾型(首字母應大寫為bool)。二、多選題運行代碼(3>2and2<3)and5,下面哪個說法是正確的?答案:A.輸出True?D.輸出結果對應的布爾值為True解析:3>2and2<3→TrueTrueand5→5(Python返回最后一個被求值操作數)print()會輸出5,但bool(5)為True;因此A(若指布爾值)與D均成立;B、C描述不完整或錯誤。A公司要求“本年利潤或營業(yè)收入大于1000”時輸出True,哪些代碼滿足?答案:A.profit>1000oroi>1000?C.not(profit<=1000oroi<=1000)?D.not(profit<=1000andoi<=1000)解析:A直接使用or,滿足“任一>1000”條件。C通過德摩根律等價于A。D等價于“至少一個>1000”,故也滿足。B使用and,要求兩者均>1000,不符合“或”要求。一、單選題1.正確答案:B2.正確答案:D3.正確答案:B4.正確答案:C5.正確答案:D6.正確答案:C二、多選題1.正確答案:A、B、C、D2.正確答案:A、C、D3.正確答案:A、B、D三、實操題1.product_name="手機"sales_quantity=100sales_price=3000print("本月",product_name,"銷售數量為",sales_quantity,"銷售單價為",sales_price,"元")2.#定義變量cost_price=50#成本selling_price=80#售價sales_quantity=200#銷售數量#計算總利潤total_profit=(selling_price-cost_price)*sales_quantity#總利潤=(售價-成本)×銷售數量#輸出總利潤print("該商品的總利潤為:",total_profit,"元")3.initial_inventory=eval(input("請輸入月初庫存量:"))incoming_inventory=eval(input("請輸入本月入庫量:"))outgoing_inventory=eval(input("請輸入本月出庫量:"))end_inventory=initial_inventory+incoming_inventory-outgoing_inventoryprint("本月末的庫存量為:",end_inventory,"件")【崗課賽證融合練習題·標準答案與解析】一、單選題1.下面代碼中x的值最終是多少?```x=10x=20x=20+2x=x+x```答案:D.44解析:-第1行:x=10-第2行:x=20(覆蓋10)-第3行:x=22-第4行:x=22+22=442.下面代碼中x的值最終是多少?```x=10x=20x=x*x```答案:D.400解析:-前兩行后x=20-第三行x=20*20=4003.在Python中表示除法的符號是?答案:A./解析:-/為浮點除法;\是轉義符;÷非法;%取余。4.第46個人在哪一排?答案:C.(46-1)//10+1解析:-將46轉換為0基索引:46-1=45-每排10人:45//10=4(第4排,0基)-轉換為1基:4+1=第5排。5.哪兩個表達式結果完全相同?①16%2→0②16/2**2→16/4→4.0③16/4→4.0④16//4→4答案:C.③④解析:③④結果同為4.0與4,數值相等但類型不同;若嚴格比較值,③④最接近,官方答案選C。二、多選題將number=0.1314按百分比形式輸出,正確方法有:答案:C、D解析:A.print('number%')僅輸出文字“number%”,未使用變量。B.print(number+'%')類型錯誤,無法把float與str相加。C."{:.2%}".format(number)→13.14%(正確百分比格式化)。D.str(number*100)+'%'→13.14%(手動乘100并拼接%)。一、單選題答案1.答案:A。Python沒有專門的char類型,單個字符用字符串表示;int是整型,float是浮點型,list是列表類型,Python均支持。2.答案:B。在Python中,“=”是賦值運算符,不能用于比較,合法的比較應該是“==”;A選項xinrange(6)用于判斷x是否在range(6)生成的序列中;C選項是邏輯表達式,雖然e和f未定義,但語法上是合法的;D選項(x-6)>5是比較表達式,語法合法。3.答案:B。A選項中復數不能直接比較大小;B選項3>2為True,2==2為True,根據and邏輯運算符,全真才真,所以結果為True;C選項中e和f未定義,表達式無法判斷真假;D選項x未定義,表達式無法判斷真假。4.答案:A。format()函數用于格式化字符串,會將name替換為"小明",age替換為18。5.答案:B。lower()函數用于將字符串中的大寫字母轉換為小寫;input()用于獲取用戶輸入;upper()用于將字符串中的小寫字母轉換為大寫;count()用于統(tǒng)計字符串中某個子串出現的次數。二、填空題答案1.結果是TypeError。因為input()獲取的用戶輸入是字符串類型,字符串不能直接進行冪運算。如果要實現輸入數字的冪運算,需要先將輸入轉換為數值類型,如a=int(input())。2.運行結果是19.333333333333332。根據運算符優(yōu)先級,先算乘除后算加減,3*8=24,5/-3=-1.6666666666666667,所以24-1.6666666666666667-4=19.333333333333332。在Python中,空字符的符號為''或""。三、實操題答案1.print(3+5)#輸出:8print(3-1)#輸出:2print(3*7)#輸出:21print(3/4)#輸出:0.75print(3//4)#輸出:0print(3%4)#輸出:3print(3**4)#輸出:812.print(2>6)#輸出:Falseprint(3<=1)#輸出:Falseprint(3==7)#輸出:Falseprint(3!=4)#輸出:Trueprint(3<=4)#輸出:True3.print((7>9)and(3==4))#輸出:Falseprint((4!=4)or(5<=10))#輸出:True,print(not(3==7))#輸出:True,因為3==7為False,notFalse為True4.str1='mynameisAny'str1=str1.replace('','#')print(str1)#輸出:my#name#is#Any5.略【崗課賽證融合練習題·標準答案與解析】一、單選題1.下面代碼的執(zhí)行結果是()```x={}x['k1']=123x['k2']=23delx['k1']print(x)```答案:D.{'k2':23}解析:-第1行:創(chuàng)建空字典x。-第2~3行:添加鍵值對'k1':123和'k2':23。-第4行:刪除鍵'k1'。-第5行:輸出剩余字典,僅剩{'k2':23}。2.列表元素從左至右的第一個位置編號(索引/下標)是()答案:A.0解析:Python列表采用0-based索引,即最左側元素索引為0,向右依次遞增。一、單選題答案1答案:C2答案:C在Python中,字典使用花括號{}來表示。選項A"hello"是字符串;選項B"{}"是包含花括號的字符串;選項D[]是列表的標識。3答案:D","join(list)方法用于將列表list中的所有元素連接成一個字符串,元素之間用逗號,分隔。例如,若list=['a','b','c'],則','.join(list)的結果是"a,b,c"。4答案:A在Python中,列表與整數相乘會將列表中的元素重復指定的次數。表達式[1,2,3]*3會將列表[1,2,3]重復3次,結果為[1,2,3,1,2,3,1,2,3]。5答案:B列表切片aList[3:7]表示從索引3(包含)到索引7(不包含)的元素。對于列表aList=[3,4,5,6,7,9,11,13,15,17],索引3的元素是6,索引7的元素是13(不包含),所以切片結果是[6,7,9,11]。二、填空題答案1答案:小括號()在Python中,元組通常使用小括號()來定義,例如(1,2,3)。不過需要注意的是,當元組只有一個元素時,需要在元素后面加逗號,如(1,)。2答案:del語句可以使用del語句來刪除字典,例如delmy_dict會將名為my_dict的字典刪除。3答案:len()len()是Python的內置函數,用于返回對象的長度或元素個數。對于列表,使用len(list)可以獲取列表的長度。4答案:append()、extend()、insert()三、實操題答案1.#創(chuàng)建列表food_list=["漢堡","披薩","壽司","炸雞","冰淇淋"]#(1)將索引號為3的食物替換為“打鹵面”food_list[3]="打鹵面"print(food_list)#(2)在列表最后添加“米飯”food_list.append("米飯")print(food_list)#(3)將索引號為2的食物刪除delfood_list[2]print(food_list)運行結果:plaintext['漢堡','披薩','壽司','打鹵面','冰淇淋']['漢堡','披薩','壽司','打鹵面','冰淇淋','米飯']['漢堡','披薩','打鹵面','冰淇淋','米飯']2.#創(chuàng)建字典tourist_attractions={"四川":"九寨溝","云南":"麗江古城","北京":"故宮","陜西":"兵馬俑","浙江":"西湖"}print(tourist_attractions)運行結果:{'四川':'九寨溝','云南':'麗江古城','北京':'故宮','陜西':'兵馬俑','浙江':'西湖'}【崗課賽證融合練習題·標準答案與解析】一、單選題階乘代碼補全答案:B.whilei<=n:或D.foriinrange(2,n+1):解析:若用while循環(huán),條件應寫whilei<=n:;若用for循環(huán),則foriinrange(1,n+1):(等價foriinrange(2,n+1):)。選項B與D均能保證把1…n全部乘到factorial。官方標準答案給出B(while寫法),故選B。ROE判斷填空答案:D.growth<0解析:只有當growth<0時才表示下降,故選D。Python條件語句答案:A.if解析:Python只有if/elif/else,沒有switch/case/select。Python循環(huán)語句答案:A.for?B.while解析:Python中只有for與while兩種循環(huán)結構;do/until并不存在。二、多選題代碼輸出結果答案:A.當給name變量賦值'固定資產'時,輸出文字:資產類科目??D.當給name變量賦值'短期借款'時,輸出文字:負債類科目解析:字符串'借方表示增加'與'借方表示減少'是獨立表達式,未作為print參數,因此不會輸出;只有對應的print語句會輸出“資產類科目”或“負債類科目”。一、單選題答案1答案:B在循環(huán)語句中,continue語句的作用是跳過當前循環(huán)的剩余代碼,直接進入下一次循環(huán)。A選項count不是循環(huán)控制相關的關鍵字;C選項control在Python循環(huán)中無此用法;D選項class是用于定義類的關鍵字,和循環(huán)跳轉無關。2答案:A在Python中,通常使用鍵盤上的Tab鍵來實現縮進。Capslock是大寫鎖定鍵;shift主要用于切換大小寫、輸入上檔字符等;win是Windows系統(tǒng)的徽標鍵,用于打開開始菜單等操作,這三個鍵都與Python的縮進操作無關。3答案:C在if語句中,如果判斷條件下要執(zhí)行的代碼塊被另一個判斷條件所代替,這種結構叫做if嵌套語句。A選項循環(huán)結構是用于重復執(zhí)行代碼的結構;B選項循環(huán)嵌套結構是循環(huán)內部包含循環(huán)的結構;D選項單分支判斷語句指只有一個if分支的簡單判斷結構。4答案:Brange()函數在使用過程中,步長值默認為1。如果不指定步長,range()函數生成的序列中相鄰兩個數之間的差值就是1。二、填空題答案1答案:if在Python程序中,條件判斷功能主要是通過if語句來實現的,通過判斷if后面條件的真假來決定執(zhí)行不同的代碼塊。2答案:ifelif和else語句都必須和if聯(lián)合使用,不能單獨使用。elif用于在if條件不滿足時進行額外的條件判斷,else用于處理前面所有條件都不滿足的情況。3答案:elseif語句中可以省略else代碼塊。當if條件滿足時執(zhí)行相應代碼塊,若條件不滿足且沒有else代碼塊,則程序繼續(xù)執(zhí)行if語句后面的代碼。4答案:while循環(huán)、for循環(huán);不確定循環(huán)次數的情況、已知循環(huán)次數的情況循環(huán)結構有while循環(huán)和for循環(huán)兩種。while循環(huán)多用于不確定循環(huán)次數的情況,通過判斷條件的真假來決定是否繼續(xù)循環(huán);for循環(huán)通常在已知循環(huán)次數的情況下使用,用于遍歷可迭代對象中的元素。5答案:range(1,11)使用range()函數從1計數到10時,因為range()函數生成的序列不包含終止值,所以要寫成range(1,11)。三、實操題答案1.year=int(input("請輸入年份:"))ifyear>=2020:print("該財務報表為2020年及以后年度的報表")else:print("財務報表為2020年以前年度的報表")2.color=input("請輸入信號燈顏色:")ifcolor=="紅色":print("紅燈停")elifcolor=="綠色":print("綠燈行")elifcolor=="黃色":print("等一等")else:print("無法識別")pythonforiinrange(1,10):forjinrange(1,i+1):print(f"{j}×{i}={i*j}\t",end="")print()3.year=int(input("請輸入一個年份:"))if(year%4==0andyear%100!=0)or(year%400==0):print(f"{year}年是閏年")else:print(f"{year}年不是閏年")【崗課賽證融合練習題·標準答案與解析】一、填空題表達式(lambdaEVA:EVA0.1ifEVA>1200000else0)(1500000)輸出的值是答案:150000解析:EVA=1500000>1200000為真,執(zhí)行EVA0.1→1500000×0.1=150000。二、判斷題(int())函數可以抹零取整。解析:Python內置函數int()或數學庫math.trunc()均可通過截斷小數實現“抹零取整”,故正確。一、單選題1答案:C解析:匿名函數可以有返回值,其返回值就是表達式的計算結果。A選項,Python內置函數確實可直接使用;B選項,形參在函數定義時確定,實參在調用時傳入;D選項,函數能提高代碼復用性,A、B、D選項均正確。2答案:D解析:A選項,只傳入一個位置參數,默認參數b取默認值2,可行;B選項,傳入多個位置參數,多余的位置參數會被可變位置參數args接收,可行;C選項,傳入一個位置參數和一個關鍵字參數,可行。所以以上都正確。3答案:B解析:map()函數會根據傳入的函數對可迭代對象中的每個元素進行映射。這里匿名函數lambdax:x*2將列表中的每個元素都乘以2,所以result的值是[2,4,6,8,10]。4答案:A解析:B選項,可變位置參數(*args)接收的是多余的位置參數,不是關鍵字參數;C選項,關鍵字參數不需要按照函數定義時的順序傳遞;D選項,默認參數可以有多個。A選項,位置參數必須在默認參數之前,說法正確。5答案:B解析:在函數func中使用global關鍵字聲明x為全局變量,在函數內部對其賦值為10。調用函數后,全局變量x的值變?yōu)?0,所以print(x)輸出10。二、填空題1答案:def2答案:函數內部;整個代碼文件(全局范圍)3答案:abs();min()4答案:lambda;高階5答案:lambdaa,b:a+b三、實操題1.defdiscount_price(original_price,discount_rate):"""計算商品折扣價格的函數:paramoriginal_price:商品原價:paramdiscount_rate:折扣率:return:折扣后的價格"""returnoriginal_price*discount_rate2.data=[10,20,30,40,50]#使用map()函數將列表中的每個元素都加上10result_map=list(map(lambdax:x+10,data))#使用filter()函數篩選出列表中大于30的元素result_filter=list(filter(lambdax:x>30,data))print(result_map)print(result_filter)3.defcalculate_salary(position,performance_score):"""計算員工工資的函數:paramposition:員工崗位:paramperformance_score:員工績效得分:return:員工的工資"""ifposition=="銷售":basic_salary=5000elifposition=="研發(fā)":basic_salary=6000elifposition=="行政":basic_salary=4500else:basic_salary=0ifperformance_score>=80:bonus=1000else:bonus=500deduction=basic_salary*0.15salary=basic_salary+bonus-deductionreturnsalary4.deffind_max_price_product(product_dict):"""找出價格最高的商品及其價格的函數:paramproduct_dict:包含商品名稱和價格的字典:return:價格最高的商品名稱和價格"""max_price=0max_product=""forproduct,priceinproduct_dict.items():ifprice>max_price:max_price=pricemax_product=productreturn(max_product,max_price)【崗課賽證融合練習題·標準答案與解析】一、單選題爬蟲無法直接抓取下載的網頁稱為()答案:C.不可知網頁解析:這類網頁對爬蟲暫時未知,需通過鏈接發(fā)現或登錄等手段才能獲取,官方題庫定義其為“不可知網頁”。對已下載網頁進行增量更新、只抓取新產生或已改變網頁的爬蟲是()答案:C.增量式網絡爬蟲解析:增量式爬蟲專門對比時間戳或哈希值,僅重新抓取變化內容,節(jié)省帶寬與存儲。爬蟲內部用于表示標簽/數值集合的數據結構是()答案:A.LVS(Label-ValueSet)解析:LVS是國賽官方給出的標簽-值集合術語,其余選項為具體處理組件或URL隊列。二、多選題網絡爬蟲又稱()答案:A.C.解析:官方題庫將“網頁蜘蛛”和“網絡機器人”列為標準別名;“螞蟻”“網頁追逐者”未納入。爬蟲自互聯(lián)網角度劃分的網頁狀態(tài)包括()答案:A.?B.?C.?D.解析:四者構成國賽標準分類體系,覆蓋網頁生命周期。常見的大數據數據采集手段包括()答案:A.?B.?C.?D.解析:四項均為官方題庫列舉的主流采集方式,全選得分。一、單選題1.答案:C解析:A選項,網絡爬蟲必須在遵守法律法規(guī)和網站使用規(guī)則的前提下抓取數據,不能隨意抓??;B選項,爬蟲工作需要明確目標URL才能獲取數據;D選項,網絡爬蟲能獲取多種類型的數據,如HTML文檔、json格式化文本、二進制文件等。C選項描述正確,網絡爬蟲模擬用戶瀏覽網頁向服務器發(fā)送請求獲取數據。2答案:B解析:在requests庫中,requests.get()方法是最常用的獲取網頁內容的方法,通過向指定URL發(fā)送GET請求獲取數據。requests.post()一般用于提交數據,requests.put()用于更新資源,requests.delete()用于刪除資源,所以選B。3.答案:B解析:BeautifulSoup庫中,find_all()方法用于查找所有符合條件的元素;find()方法返回找到的第一個符合條件的元素;select()使用CSS選擇器查找元素,返回所有匹配的元素列表;select_one()使用CSS選擇器返回找到的第一個匹配元素。所以查找所有符合條件的元素通常用find_all(),選B。4.答案:B解析:Tushare是國內一個開放、免費的財經數據平臺,為金融投資和研究人員提供數據和工具,并非單純的數據采集工具、數據庫管理系統(tǒng)或數據可視化庫,所以選B。5.答案:B解析:在Python中,openpyxl庫專門用于操作Excel文件,讀取Excel文件通常使用它;csv庫用于處理CSV文件;pandas庫功能強大,可用于數據處理和分析,也能讀取Excel文件,但題目強調“通常”,更側重于基礎操作庫;numpy主要用于數值計算。所以選B。二、多選題1.答案:ACD解析:企業(yè)外部數據源包括政府、高校、機構、行業(yè)協(xié)會的開放型數據庫以及網頁與應用程序等。企業(yè)財務系統(tǒng)屬于企業(yè)內部數據源,所以排除B,選ACD。2.答案:AC解析:A選項,采集數據前明確目標和需求能使采集工作更有針對性,正確;B選項,采集后的數據可能存在錯誤、重復、缺失等問題,需要進行清洗和整理;C選項,數據采集應遵守法律法規(guī)和道德規(guī)范,避免侵權等問題,正確;D選項,數據采集為企業(yè)決策提供數據支持,對企業(yè)決策影響重大。所以選AC。3.答案:AB解析:A選項,open()函數結合csv.reader()可以讀取CSV文件;B選項,pandas庫的read_csv()函數也能讀取CSV文件;C選項,openpyxl庫用于操作Excel文件;D選項,numpy庫主要用于數值計算,不用于讀取CSV文件。所以選AB。三、實操題1.簡單爬蟲編寫importrequestsfrombs4importBeautifulSoupurl="/"#新浪財經板塊網址headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/91.0.4472.124Safari/537.36"}response=requests.get(url,headers=headers)soup=BeautifulSoup(response.content,'html.parser')news_list=soup.find_all('a',class_='news-item')#根據網頁結構查找新聞標題和鏈接所在的標簽,可能需根據實際網頁調整withopen('news.txt','w',encoding='utf-8')asf:fornewsinnews_list:title=news.get_text().strip()link=news['href']f.write(f"標題:{title}\n鏈接:{link}\n\n")2.Tushare數據獲取與分析importtushareastsimportpandasaspd#設置tokenpro=_api('your_token')#獲取貴州茅臺近一年的每日收盤價數據df=pro.daily(ts_code='600519.SH',start_date='20221001',end_date='20231001')close_prices=df['close']average_close=close_prices.mean()print(f"貴州茅臺近一年的平均收盤價為:{average_close}")3.文件數據處理importopenpyxl#打開原始Excel文件wb=openpyxl.load_workbook('financial_data.xlsx')sheet=wb.active#創(chuàng)建新的Excel文件new_wb=openpyxl.Workbook()new_sheet=new_wb.activenew_sheet.append(['部門','利潤'])#添加表頭#計算每個部門的利潤并寫入新文件forrowinsheet.iter_rows(min_row=2,values_only=True):#假設第一行為表頭department=row[0]income=row[1]expense=row[2]profit=income-expenseifincomeandexpenseelse0new_sheet.append([department,profit])#保存新的Excel文件new_wb.save('profit_data.xlsx')第一題#1.計算變動成本a=1690*374#原材料+燃動力+測試費=1366+246+78=1690元/噸#2.計算固定成本b=1850*374#職工薪酬+折舊+其他=1623+137+90=1850元/噸#3.計算單價的敏感系數c=((((3560*1.01)-1690)*374-691900-7480)/7480)/0.01print('甲公司A產品的單價的敏感系數為',c)#4.計算盈虧臨界點銷售量(保留一位小數)d=b/(3560-1690)print('甲公司A產品的盈虧臨界點為',round(d,1),'噸')#5.計算安全邊際(保留一位小數)e=1331440-370*3560print('甲公司A產品的安全邊際為',round(e,1),'元')#6.計算安全邊際率g=14240/1331440print('甲公司A產品的安全邊際率為',g)第二題importpandasaspd#1.讀取數據(第一列作為行索引)df=pd.read_excel('2016-2019年現金流量表.xlsx',index_col=0)#2.提取所需兩行并轉置(年份變行索引)df1=df.loc[['支付給職工以及為職工支付的現金','經營活動現金流出小計']].T#3.重命名列,方便后續(xù)引用df1.columns=['職工現金','經營流出']#4.計算比例df1['比例']=round(df1['職工現金']/df1['經營流出'],4)#5.按年份升序排序df1.sort_index(inplace=True)#6.顯示結果print(df1)第三題#1.讀取數據jz=pd.read_excel('2016-2020年存貨跌價準備信息.xlsx')#2.計算存貨賬面余額(已給出,無需再算)#若題目原意是“賬面余額=原值-跌價準備”,則改為:#jz['賬面余額']=jz['存貨賬面余額']-jz['存貨跌價準備']#此處按題目描述使用已有列jz['賬面余額']=jz['存貨賬面余額']#3.計算計提比例jz['比例']=round(jz['存貨跌價準備']/jz['賬面余額'],6)#4.按“報告期”和“比例”升序排序并重置索引jz.sort_values(['報告期','比例'],ascending=[True,True],inplace=True,ignore_index=True)#5.打印結果print(jz[['公司','報告期','賬面余額','存貨跌價準備','比例']])第四題#引入pandas模塊importpandasaspd#自定義本量利CVP函數defCVP(p,uvc,vol,fc):s=p*vol#銷售額umc=p-uvc#單位邊際貢獻mc=umc*vol#邊際貢獻vc=uvc*vol#變動成本pro=(p-uvc)*vol-fc#營業(yè)利潤return[p,uvc,umc,vol,s,vc,mc,fc,pro]#實際數計算data=CVP(100,65,38500,900000)#創(chuàng)建DataFramedt=pd.DataFrame(data,columns=['實際數'],index=['單價','單位變動成本','單位邊際貢獻','銷售量','銷售額','變動成本','邊際貢獻','固定成本','營業(yè)利潤'])#固定預算數計算dt["固定預算數"]=CVP(120,56,40000,1000000)#實際與固定預算差額dt['實際與固定預算差額']=dt['實際數']-dt['固定預算數']#彈性預算數計算(使用實際銷量)dt['彈性預算數']=CVP(120,56,38500,1000000)#實際與彈性預算差額dt['實際與彈性預算差額']=dt['實際數']-dt['彈性預算數']#輸出結果dt一、單選題1答案:B解析:index_col參數用于指定將文件中的哪一列作為行索引,所以想把文件中的第一列作為行索引應設置index_col=0,答案選B。sheet_name用于指定導入的sheet頁;header用于指定用哪一行作列名;usecols用于指定需要讀取哪些列。2答案:C解析:isna()函數用于檢測數據集中的缺失值,返回布爾值,缺失值被映射為True,非缺失值被映射為False,所以選C。dropna()用于刪除缺失值;fillna()用于填充缺失值;duplicated()用于查找重復項。3答案:A解析:merge()函數中,how="inner"表示取兩個表交集部分進行連接,所以答案是A。outer表示取并集;left表示左側取全部右側取部分;right表示右側取全部左側取部分。4答案:C解析:groupby()函數根據一個或多個DataFrame列名進行分組,答案選C。agg()用于自定義聚合操作;pivot_table()用于創(chuàng)建數據透視表;concat()用于沿特定軸連接兩個或兩個以上的DataFrame。5答案:C解析:df.head(3)用于獲取DataFrame的前3行數據,C正確。df[0:3]這種直接索引方式在獲取前3行數據時,對于DataFrame數據結構不夠規(guī)范,且容易出現理解歧義;df[1:3]獲取的是第2行到第3行的數據(左閉右開);df.tail(3)獲取的是后3行數據。6答案:C解析:在數據透視表中,values參數用于指定將某列數據作為元素值進行計算,所以選C。index用于指定數據透視表的行索引;columns用于指定列索引;aggfunc用于指定值的計算方式。7答案:A解析:使用drop()函數可以刪除DataFrame中的某一列,例如df.drop('列名',axis=1),所以選A。dropna()用于刪除含有缺失值的行或列;drop_duplicates()用于刪除重復值;delete()不是pandas中刪除列的函數。8答案:A解析:Series是pandas中的一維數據結構,相當于Excel中任意一列數據,所以選A。DataFrame是二維數據結構。9答案:B解析:sort_values()函數中,ascending參數默認為True,表示升序排序,設置為False時表示降序排序,所以選B。二、多選題1答案:ABC解析:index用于獲取行索引(行編號)、columns用于獲取列索引(列的title名稱)、values用于獲取數據內容,這三個都是DataFrame的屬性,所以選ABC。shape也是DataFrame的屬性,用于返回數據的形狀(行數,列數),但題目未提及,不選。2答案:ABC解析:數據清洗主要包括處理重復值、處理缺失值、數據類型轉換等操作,ABC正確。數據透視是數據分析的一種方式,不屬于數據清洗的范疇。3答案:ABCD解析:merge()函數常用的連接方式有inner(內連接)、outer(外連接)、left(左連接)、right(右連接),ABCD都正確。4答案:ABCD解析:在pandas中,sum()(求和)、mean()(求平均值)、max()(求最大值)、count()(計算元素個數)都可以用于數據聚合操作,ABCD都正確。5答案:ABD解析:A選項,直接篩選單列數據可使用df["列名"],正確;B選項,條件篩選時,多個條件連接可用&表示“并且”,正確;C選項,loc索引器可根據行索引和列索引進行選取,不只是行索引,C錯誤;D選項,iloc索引器通過整數位置來選擇數據,正確。所以選ABD。三、實操題1、importpandasaspd#讀取兩個文件的數據salary_df=pd.read_excel('employee_salary.xlsx')bonus_df=pd.read_excel('employee_bonus.xlsx')#使用merge()函數將兩個DataFrame按照員工工號進行內連接merged_df=pd.merge(salary_df,bonus_df,on='員工工號',how='inner')#計算每個員工的總薪酬(基本工資+績效工資+加班工資+獎金)merged_df['總薪酬']=merged_df['基本工資']+merged_df['績效工資']+merged_df['加班工資']+merged_df['獎金']#按照部門進行分組,統(tǒng)計各部門的平均總薪酬、最高總薪酬和最低總薪酬department_salary_stats=merged_df.groupby('部門').agg({'總薪酬':['mean','max','min']}).reset_index()department_salary_stats.columns=['部門','平均總薪酬','最高總薪酬','最低總薪酬']#將最終的分析結果保存到一個新的Excel文件employee_total_salary.xlsx中department_salary_stats.to_excel('employee_total_salary.xlsx',index=False)#-*-coding:utf-8-*-"""古井貢酒2016-2020年營業(yè)成本占營業(yè)收入比例趨勢分析"""#1.導入庫importpandasaspdimportmatplotlib.pyplotasplt#2.讀取后臺數據(第一列作為索引)df=pd.read_excel('gujing_data.xlsx',index_col=[0])#3.轉置:把年份放到行索引df=df.T#4.提取所需數據并轉為floata=df['營業(yè)收入'].astype(float)b=df['營業(yè)成本'].astype(float)#5.計算營業(yè)成本占營業(yè)收入比例df['成本占比']=b/a#6.繪制折線圖plt.figure(figsize=(8,4))plt.plot(df.index,df['成本占比'],marker='o')plt.title('古井貢酒2016-2020年營業(yè)成本占營業(yè)收入比例')plt.xlabel('年份
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南川別墅施工方案(3篇)
- 景區(qū)游樂項目安全檢測制度
- 法院內控制度
- 食品安全事故制度
- 2026年合肥市園上園小學喻崗分校教師招聘備考題庫及1套完整答案詳解
- 2026屆廣東省顏錫祺中學英語高三上期末教學質量檢測試題含解析
- 罕見腫瘤的個體化治療藥物敏感性檢測臨床應用
- 2026山東事業(yè)單位統(tǒng)考菏澤市單縣招聘初級綜合類崗位26人備考題庫及一套參考答案詳解
- 主管局財務制度
- 代加工企業(yè)財務制度
- 小兒體液不足的護理措施
- 管控人力成本課件
- 插胃管課件教學課件
- 車輛維修采購項目方案投標文件(技術方案)
- 湖南省多測合一收費指導標準(試行)2024年版
- 連鎖經營與管理專業(yè)教學標準(高等職業(yè)教育??疲?025修訂
- T-CSPSTC 127-2023 城鎮(zhèn)排水管道封堵施工技術規(guī)程
- (高清版)DB62∕T 3271-2024 生態(tài)型尾礦庫修建技術標準
- 2025年中小學科學素養(yǎng)測評考試題及答案
- 印刷文印采購服務技術方案
- 超星爾雅學習通《國家安全教育(中國人民公安大學)》2025章節(jié)測試附答案
評論
0/150
提交評論