資源簡介 第三章 算法的程序?qū)崿F(xiàn)一、選擇題1.下列可以作為Python變量名的是( )A."d3" B.6sd C.True D.stf_12.下列Python賦值語句正確的是( )A.x+y=20 B.3x=y C.y=x+20 D.s=2π*r*r3.如下Python程序段,運行后輸出的值是( )def factorial(n):s=1for i in range(2,n+1):s=s*ireturn stotal=factorial(4)print(total)A.24 B.4 C.44 D.164.已知字典dict1={"01":"Jan","02":"Feb","03":"March","04":"April","05":"May"},現(xiàn)要在字典dict1中增加一個鍵為"06"值為"June"的元素,下列語句能實現(xiàn)的是( )A.dict1[06]="June" B.dict1["06"]=["06":"June"]C.dict1["06"]={"June"} D.dict1["06"]= "June"5.下列能判斷變量x是整數(shù)的條件表達式是( )A.x%2==1 B.x%2==0 C.int(x)==x D.random(x)=x6.Python中的 pygame模塊是專門用來開發(fā)游戲的,其中 pygame. display. set_caption(*接福游戲")的功能是()。A.設(shè)置當(dāng)前窗口標題欄的名稱 B.創(chuàng)建一個指定大小的窗口C.更新當(dāng)前窗口 D.從文件加載新圖片7.下列程序的運行結(jié)果是( )s="2h4j5,94af87"n=i=0m=len(s)num="0123456789"while iif s[m-i-1] in num:n=n*10+int(s[m-i-1])i=i+1if n>1000:breakprint(n)A.245 B.784 C.2459 D.78498.十六進制數(shù)值 10~15分別用大寫字母A~F來表示,如果變量 s 表示大寫字母A~F中的任意一個字母,能將變量s轉(zhuǎn)換成對應(yīng)數(shù)值的正確表達式是( )A.ord(s)-ord("A")+10 B.ord(s)-ord(A)+10C.chr(s)-chr("A")+10 D.chr(s)-chr(A)+10二、填空題9.某Python程序代碼如下:sfz=input("請輸入您的身份證號碼:")year=int(sfz[6:10])month=day=int(sfz[12:14])print("您是的出生年月日是",year,"年",month,"月",day,"日!")程序運行后,輸入"33018320050907002X"后,輸出的結(jié)果為:您是的出生年月日是2005年9月7日!,則空白處的代碼為________________10.調(diào)試程序,修改代碼。要判斷一個正整數(shù)n(n>=3)是否為素數(shù),一種方法是:統(tǒng)計2到n-1之間所有能整除n的整數(shù)個數(shù)s,若s等于0,則n是素數(shù),否則就不是素數(shù),為了實現(xiàn)這一算法,編寫代碼如下,運行程序時出現(xiàn)錯誤提示源程序 print("請輸入一個大于等于3的正整數(shù)n:") n = input() s = 0 for i in range (2,n): if n % i==0: s = s + 1 if s == 0: print(n,"是素數(shù)") else: print(n,"不是素數(shù)")運行時錯誤提示 請輸入一個大于等于3的正整數(shù)n: 7 Traceback (most recent call last): File "D:\素數(shù). py",line 4,in 根據(jù)錯誤提示,一種修改方法是:只需修改圖中源程序的第2行代碼,就可以使程序正常運行,則第2行應(yīng)修改為:__________11.random模塊是一個________。random.randint(1,10)語句作用 ___________。12.s=int(input(“請輸入一個兩位數(shù):”))s=s//6print(s)程序運行后,鍵盤輸入31,其輸出結(jié)果為 ____________13.任意長度的python列表、元組、字符串的最后一個元素的索引值為:___________。14.項目學(xué)習(xí):解密盛唐時期詩人關(guān)系(項目情境)唐代詩人史傳有名有姓者不下千余人,他們組成了大大小小不同的朋友圈。有的因為詩風(fēng)接近,如李白代表的浪漫主義、杜甫代表的現(xiàn)實主義、王維代表的田園山水、芩參代表的邊塞詩風(fēng);有的因為年齡大體相近,如盛唐時期的李白、杜甫、賀知章等;有的因為政見相近,如韓愈作為古文運動的領(lǐng)袖級人物,當(dāng)時很多文人墨客以進入他的朋友圈為榮。在盛唐時期有這樣一個朋友圈,他們的友誼跨越數(shù)十年,詩人之間通過互動詩歌,表達抒發(fā)情感,是他們朋友圈的一種表現(xiàn)方式,用計算機來分析這個時代的唐詩,就會發(fā)現(xiàn)詩人之間有著你意想不到的千絲萬縷的關(guān)系。學(xué)校某研究性學(xué)習(xí)小組利用大數(shù)據(jù)分析技術(shù),通過對詩詞分析,繪制盛唐時期幾位詩人(杜甫、李白、王維、孟浩然……)之間的社交關(guān)系網(wǎng)絡(luò)圖,試圖推測哪位詩人是同時代詩人的核心,哪位詩人的影響最大,從而更好地學(xué)習(xí)、理解唐詩。(項目準備)為完成項目,需要確定主題、目標、制訂規(guī)劃等各項工作。在此不一一展示。明確的主題—盛唐時期的詩人及詩詞分析和詩人社交關(guān)系網(wǎng)絡(luò)圖(項目實施)項目研究主要以詩人詩作為依據(jù)。具體實施過程如下:(一)明確需要采集的數(shù)據(jù)選擇合適的采集途徑、工具和方法。全唐詩一共四萬多首,分析采集相關(guān)數(shù)據(jù)的條件:①盛唐時期;②詩人、詩人之間經(jīng)常稱呼對方的別名;③考慮到同名同姓的問題,因此還需要詩人的生卒年的信息。根據(jù)要求,完成答題。(1)全唐詩數(shù)量較多,一共四萬多首,來源分散,存儲在互聯(lián)網(wǎng)不同的服務(wù)器與各客戶終端。從大數(shù)據(jù)存儲與計算的角度來看,由此可知大數(shù)據(jù)具有____________的特征。(單選)A.精確讓位于模糊B.價值密度低C.分布式存儲D.變化速度快(2)網(wǎng)絡(luò)上如此海量的關(guān)于唐詩的數(shù)據(jù),有文字、圖片、視頻、音頻等。這些數(shù)據(jù)種類和格式也不一致,表明各種____________數(shù)據(jù)共存于網(wǎng)絡(luò)中。(多選)A.結(jié)構(gòu)化B.半結(jié)構(gòu)化C.非結(jié)構(gòu)化D.網(wǎng)狀結(jié)構(gòu)(3)面對繁雜的數(shù)據(jù),學(xué)習(xí)小組決定研究解密盛唐時期詩人關(guān)系,并利用計算機程序從網(wǎng)絡(luò)中采集詩人、別名等相關(guān)的文本數(shù)據(jù),并以一定的數(shù)據(jù)結(jié)構(gòu)存儲形成盛唐詩庫。存儲數(shù)據(jù)主要有兩種方式,一種是____________,一種是數(shù)據(jù)云存儲。你建議學(xué)習(xí)小組采用____________數(shù)據(jù)存儲方式,理由是___________________。(二)利用 Python程序采集、整理、分析數(shù)據(jù)。第一步,從互聯(lián)網(wǎng)中篩選出符合條件的詩人及詩作等文本,整理并形成盛唐詩庫;第二步,確定人物關(guān)系分析策略,即從唐詩庫中搜索、統(tǒng)計詩人或別名的引用次數(shù),確定二人之間的疏密關(guān)系,規(guī)則是詩的標題和正文中只要提到過對方,那么兩者之間的引用關(guān)系加1,若一首詩中提到多次對方,只算一次引用;第三步,編寫程序并調(diào)試驗證。用爬蟲程序段(如下圖所示)采集數(shù)據(jù)。根據(jù)要求,完成答題。base_url=’http://www./shici/lis\ t?cate=%E5%94%90%E8%AF%97%E4%B8%89%E7%99%BE%E9%A6%96&p=’ import requests import parsel import re headers={ ‘User-Agent:’Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML, like Gecko) } for i in range(1,3): the_ url=base _url+str(i) response=requests get (the _url, headers=headers) html_ str=response. text html= parsel. Selector(html_str) title_url= html. xpath(’//div[@class="poem_ content"]’).extract() f=open("poet. txt","a" ) for poet in title_url: the_peom=urls=re findall(<div class="poem_content">(.* ?)’, poet) f write(str(the_ peom[0])) f. write("\n") f.close()(4)使用爬蟲程序獲取文本數(shù)據(jù)并形成唐詩庫文件,所使用的數(shù)據(jù)采集方法為____________(選填:系統(tǒng)日志采集法、網(wǎng)絡(luò)數(shù)據(jù)采集法其他數(shù)據(jù)采集方法)。閱讀程序可知每首詩存放于列表poem[]中(以唐詩“春曉”為例如下表),采集后的數(shù)據(jù)保存在poet.txt文件中,該文件是一個_________________(選填:數(shù)據(jù)庫文件、文檔文件、圖像文件、網(wǎng)頁文件)。該數(shù)據(jù)采集方法可以將非結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁中抽取出來,將其存儲為統(tǒng)一的數(shù)據(jù)文件,并以_______________________的方式存儲(選填:結(jié)構(gòu)化、半結(jié)構(gòu)化)Poem[0] Poem[1] Poem[2] Poem[3]“春曉” “唐” “孟浩然” “春眠不覺曉,……,花落知多少”。(5)以詩人甲、乙為例解密二人關(guān)系,完成答題。數(shù)據(jù)處理過程中要運用一定的分析方法對大量無序的數(shù)據(jù)進行整理、分析挖掘數(shù)據(jù)內(nèi)在的結(jié)構(gòu)和規(guī)律,從而提取有價值的、有意義的數(shù)據(jù)。數(shù)據(jù)分析一般包括特征探索、關(guān)聯(lián)分析、聚類與分類等。讓計算機搜索遍歷唐詩庫中有關(guān)甲、乙兩位詩人的詩文,統(tǒng)計兩位詩人或別名相互的引用次數(shù),找尋二人之間的關(guān)聯(lián)。這是運用了__________________(選填:特征探索、關(guān)聯(lián)分析、聚類與分類)方法進行數(shù)據(jù)分析,也是__________________(選填:枚舉、二分查找、排序)算法思想去求解這一問題的體現(xiàn)。(6)編制計算機程序解決問題的過程中,__________________是編程的核心,是解決問題的方法和步驟。選用Python程序設(shè)計語言編寫程序,Python屬于__________________(選填:分析問題、設(shè)計算法、編寫程序、調(diào)試運行、機器語言、匯編語言、高級語言)。圖a示意,使用__________________(選填:自然語言、流程圖、偽代碼)進行算法描述,且運用循環(huán)控制結(jié)構(gòu)嵌套了__________________控制結(jié)構(gòu),如果要跳出本次循環(huán)體的執(zhí)行,應(yīng)使用__________________語句實現(xiàn)跳轉(zhuǎn)。(7)閱讀程序(圖b示意),程序中以“#”開頭的語句,其作用是_______________,程序調(diào)試完成,通過“另存為”保存文件,文件后綴名為_____________。圖a import gushi #從txt文檔中讀取古詩 poems=gushi. readDatat()#用poems存儲所有的唐詩jia=input("請輸入詩人甲:") yi=input("請輸入詩人乙:") gx=0 for poem in poems:#逐一列舉:poem代表其中一首古詩 if jia in poem[2]and(yi in poem[0]or yi in poem[3]): gx=gx+1 #問題的解 print(jia,'"寫給",yi,"的古詩共",gx,"首") 圖b(三)分析數(shù)據(jù)進行可視化表達并推測盛唐時期詩人關(guān)系。(8)解密盛唐時期詩人關(guān)系。數(shù)據(jù)的可視化以易于理解的方式展示和詮釋數(shù)據(jù)之間的關(guān)系、趨勢與規(guī)律等,使人們更好地理解數(shù)據(jù)。從常用和實用的維度,數(shù)據(jù)可視化的呈現(xiàn)類型主要分為探索型和解釋型,其中_________型可以幫助人們發(fā)現(xiàn)數(shù)據(jù)背后的價值,_________型則把數(shù)據(jù)簡單明了地解釋給人們(選填:探索、解釋)。數(shù)據(jù)分析類型不同可視化呈現(xiàn)方式也不同,如關(guān)于趨勢的分析,可用_________類型的圖表呈現(xiàn),關(guān)于比例的分析,可用_________類型的圖表呈現(xiàn)關(guān)于關(guān)系的分析,可用_________類型的圖表呈現(xiàn)。(9)解密盛唐時期詩人關(guān)系。學(xué)習(xí)小組選擇用網(wǎng)絡(luò)關(guān)系圖呈現(xiàn)盛唐時期詩人社會網(wǎng)絡(luò)關(guān)系(如圖所示)。圖中箭頭表示詩人之間的引用關(guān)系,如李白引用了賀知章,那么就有李白指向賀知章箭頭;箭頭的粗細程度則表示了詩人之間引用關(guān)系的強弱,如李白引用孟浩然的數(shù)量達4次,箭頭就要粗一些。________(10)解密盛唐時期詩人關(guān)系。觀察圖示,從繪制的盛唐的詩人社交關(guān)系網(wǎng)絡(luò)圖,嘗試推測哪位詩人是盛唐詩人的核心,哪位詩人的影響最大,請簡要闡述。(要求100字左右)________三、判斷題15.Python是動態(tài)語言,變量需要根據(jù)其要賦予的值提前定義數(shù)據(jù)類型。(______)16.列表中的元素可以是不同數(shù)據(jù)類型(_____)17.下列程序段中,賦值語句s=s+i被重復(fù)執(zhí)行了4次。s=0For i in range(3,10,2):s=s+i (_____)18.Python程序語言中的“=”和數(shù)學(xué)上的“=”是一回事。(_____)19.(必修)Java、Access、VB都是計算機編程語言。 (_____)20.python語言是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,發(fā)明于1989年。目前,python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。 (_____)四、簡答題21.先后輸入兩個數(shù),如果前一個數(shù)大于后一個數(shù),則交換前后兩個數(shù)的值;否則,兩個數(shù)保持不變。22.根據(jù)輸入的百分制分數(shù),將其轉(zhuǎn)換為等級制(優(yōu)、良、中、及格、不及格)并輸出。五、操作題23.現(xiàn)有字典如下,根據(jù)題目要求,寫出相關(guān)的表達式:xingzuo = { ‘小明’:‘巨蟹座’,‘小紅’:‘處女座’,‘小蘭’:‘金牛座’}(1)現(xiàn)要取出小紅所對應(yīng)的星座,寫出相關(guān)表達式:___________________________________________________________(2)現(xiàn)發(fā)現(xiàn),“小蘭”同學(xué)的星座應(yīng)該是“水瓶座”,請幫忙修改。__________________________________________________________(3)現(xiàn)發(fā)現(xiàn),在字典中漏寫了關(guān)于“小貝”的信息,現(xiàn)已知“小貝”為“雙子座”,請幫忙添加。_________________________________________________________(4)寫出刪除該字典的表達式:___________________________________________________________試卷第2頁,共3頁參考答案1.D2.C3.A4.D5.C6.A7.D8.A9.int(sfz[10:12])10.n = int(input())11.隨機庫 在1到10中隨機生成一個數(shù)字。12.513.-114.C ABC 數(shù)據(jù)本地存儲 云存儲 方便文件共享,只需聯(lián)網(wǎng)就可讀取文件,可以脫離本地計算機保存文件。 網(wǎng)絡(luò)數(shù)據(jù)采集法 文檔文件 結(jié)構(gòu)化 關(guān)聯(lián)分析 排序 設(shè)計算法 高級語言 流程圖 判斷循環(huán) break 解釋、注釋 .py 探索 解釋 折線圖、柱形圖、柱線混合圖餅狀圖、堆疊面截圖、百分比圓環(huán)圖、圈圖 散點圖、雷達圖、網(wǎng)絡(luò)關(guān)系圖、詞云圖、數(shù)據(jù)地圖、動態(tài)勢力圖、3D動態(tài)顯示圖 如局部圖b所示。由引用次數(shù)可知,從社交關(guān)系從深至淺來說,杜甫的好友依次是李白、孟浩然、王維;李白的好友是孟浩然、杜甫、賀知章;賀知章沒有好友;王維的好友只有孟浩然;孟浩然的好友只有王維。 如局部圖b所示。由被引用次數(shù)可知,李白的被引用次數(shù)是12,孟浩然的被引用次數(shù)是8,杜甫的被引用次數(shù)是3,王維的被引用次數(shù)是2,賀知章的被引用次數(shù)是2。故李白是是盛唐詩人的核心;從引用別人的次數(shù)來看,杜甫的引用別人的次數(shù)是15,李白的引用別人的次數(shù)是9,維的引用別人的次數(shù)是2,孟浩然的引用別人的次數(shù)是1,王賀知章的引用別人的次數(shù)是0。故杜甫的影響最大。15.錯誤16.對17.正確18.錯誤19.錯誤20.對21.a(chǎn)=int(input("請輸入第一個整數(shù):"))b=int(input("請輸入第二個整數(shù):"))if a-b>0:a,b=b,aprint(a,b)else:print(a,b)22.score=eval(input("請輸入你的分數(shù):"))if score>=90:print("等級為優(yōu)")elif 80<=score<90:print("等級為良")elif 70<=score<80:print("等級為中")elif 60<=score<50:print("等級為及格")else:print("等級為不及格")23.xingzuo[“小紅”] xingzuo[“小蘭”]=“水瓶座” xingzuo[“小貝”]=“雙子座” del xingzuo答案第1頁,共2頁答案第1頁,共2頁 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫