河北省張家口市全國計算機等級考試Python語言程序設計_第1頁
河北省張家口市全國計算機等級考試Python語言程序設計_第2頁
河北省張家口市全國計算機等級考試Python語言程序設計_第3頁
河北省張家口市全國計算機等級考試Python語言程序設計_第4頁
河北省張家口市全國計算機等級考試Python語言程序設計_第5頁
已閱讀5頁,還剩56頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

河北省張家口市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下關于函數作用的描述中,錯誤的是()。

A.復用代碼B.提高代碼的執行速度C.增強代碼的可讀性D.降低代碼編程的復雜性

2.以下關于turtle庫的描述,錯誤的是()。

A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈

B.seth(x)是setheading(x)函數的別名,其作用是讓畫筆旋轉x角度

C.可以用importturtle來導入turtle庫函數

D.home()函數用于設置當前畫筆位置為原點,方向朝上

3.以下程序中,while循環的循環次數是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1

A.10B.5C.4D.死循環,不能確定

4.以下代碼運算結果為:a=7a*=7()

A.1B.14C.49D.7

5.確定軟件項目是否進行開發的文檔是()。

A.需求分析規格說明書B.可行性報告C.軟件開發計劃D.測試報告

6.如果文件a.txt在目錄’C:\\A’下,執行以下代碼會發生什么操作?()importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

7.以下關于分支結構的描述中,錯誤的是()。

A.if語句中語句塊執行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產生True和False的語句和函數

C.二分支結構有一種緊湊形式,使用保留字if和else實現

D.多分支結構用于設置多個判斷條件及其對應的多條執行路徑

8.關于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向對象是否為同值

B.is對比兩個變量指向對象是否為同一值,==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

9.以下關于Python列表的描述中,正確的是()。A.列表的長度和內容都可以改變,但元素類型必須相同

B.不可以對列表進行成員運算操作、長度計算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對列表進行比較

10.在Python中,讀入CSV文件保存的二維數據,按特定分隔符抽取信息,最可能用到的函數是()。

A.read()B.join()C.replace()D.split()

11.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應用程序框架C.支持webservices框架D.處理http請求

12.以下不屬于Python保留字的是()。

A.classB.passC.subD.def

13.以下關于Python的return語句的描述中,正確的是()。

A.函數只能返回一個值

B.函數必須有return語句

C.函數可以沒有return語句

D.函數中最多只有一個return語句

14.對于Python中的復數,下列說法錯誤的是()A.表示復數的語法是real+imagej

B.實部和虛部都是浮點數

C.虛部必須后綴j,且必須是小寫

D.復數對象之間無法進行比較

15.以下程序的輸出結果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)

A.hlbstB.htslbhtC.tsblthD.hhlstt

16.以下關于函數的定義與編寫的描述,錯誤的是()。

A.函數是代碼復用的一種方式

B.在Python中,使用關鍵字define定義函數

C.定義函數時,即使函數不需要接收任何參數,也必須保留空的圓括號來表示這是一個函數

D.編寫函數時,一般建議先對參數進行合法性檢查,然后再進行編寫

17.Python中文件的打開模式為“t”,對應的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進制文件模式

18.以下屬于Python機器學習方向的第三方庫的是()。

A.randomB.SnowNLPC.TensorflowD.loso

19.循環隊列的存儲空間為Q(l:50)。經過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數為()。

A.24B.49C.26D.0

20.在Python中,用于數據分析的第三方庫是()。

A.pandasB.PILC.DjangoD.Flask

21.以下程序的輸出結果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)

A.I@youB.IyouC.I4youD.Ichr(64)you

22.在軟件開發中,需求分析階段產生的主要文檔是()。

A.軟件集成測試計劃B.軟件詳細設計說明書C.用戶手冊D.軟件需求規格說明書

23.以下不屬于Python文件操作方法的是()。

A.read()B.write()C.join()D.readline()

24.在Python中,用來安裝第三方庫的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

25.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現,每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執行if后續的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

26.以下關于程序的異常處理的描述中,錯誤的是()。

A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續執行后面的代碼

B.—般不建議在try中放太多代碼,而是應該只放入可能會引發異常的代碼

C.帶有else子句的異常處理結構,如果不發生異常則執行else子句中的代碼

D.在try-except-else結構中,如果try子句的語句引發了異常,貝!]會執行else子句中的代碼

27.執行以下代碼的結果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

28.運行以下Python中表達式后,X的值為是x=3==3,5

A.3B.5C.(True,5)D.(False,5)

29.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式ls[2][一1][2]的結果是()。

A.mB.iC.sD.d

30.以下程序的輸出結果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

二、判斷題(10題)31.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進行遍歷二不需要進行任何修改,建議使用元組而不使用列表。

A.是B.否

32.異常處理結構中的finally塊中代碼仍然有可能出錯從而再次引發異常。

A.是B.否

33.列表對象的pop()方法默認刪除并返回最后一個元素,如果列表已空則拋出異常。

A.是B.否

34.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

35.Python字典中的“鍵”可以是元組。

A.是B.否

36.Python標準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

37.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.對于生成器對象x=(3foriinrange(5)),連續兩次執行list(x)的結果是一樣的。

A.是B.否

40.使用內置函數open()打開文件時,只要文件路徑正確就總是可以正確打開的。

A.是B.否

三、填空題(10題)41.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

42.表達式'abc10'.isalnum()的值為______________。

43.已知x=[3,7,5],那么執行語句x=x.sort(reverse=True)之后,x的值為_________。

44.表達式eval('''__import__('math').sqrt(3**2+4**2)''')的值為_________。

45.已知x=[3,7,5],那么執行語句x.sort(reverse=True)之后,x的值為_________________。

46.轉義字符’\n’的含義是___________________。

47.表達式'apple.peach,banana,pear'.find('p')的值為______________。

48.表達式sum(range(1,10,2))的值為____________。

49.表達式1<2<3的值為_________。

50.表達式''.join('asdssfff'.split('sd'))的值為____________。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:循環獲得用戶輸入,直至用戶輸入Y或者y字符退出程序。

試題程序:

#請在_______處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼while_________:

s=input(”請輸入信息:”)

if______:

break

52.考生文件夾下存在一個Python源文件“PY301.Py”,請按照文件內說明修改代碼,實現以下功能?!皊core,csv”文件中存儲的是一個學生在第一季度同一學科對應的月考成績,求出每一門學科在3個月中的平均成績,將結果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數學:88.00英語:85.67物理:67.33科學:81.00試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現以下功能。設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準

參考答案

1.B使用函數可以降低編程復雜性和增加代碼復用,增強代碼可讀性。代碼復用降低了代碼行數和代碼維護難度。本題選擇B選項。

2.Dturtle庫的home()函數用于設置當前畫筆位置為原點,朝向東。本題選擇D選項。

3.Dwhile循環的判斷條件為真時,進入循環體;判斷條件為假時,直接執行while同級的代碼。初始值為i=0,進入循環體之后,因為i<1,執行continue語句跳出本次循環,進入下一次循環。i的值始終為0,故程序為死循環。本題選擇D選項。

4.C

5.B可行性報告產生于軟件定義階段,用于確定軟件項目是否進行開發。

6.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會報OSError錯誤。

7.CPython的單分支結構使用if關鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結構使用if-else關鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結構使用if-elif-else關鍵字對多個相關條件進行判斷,并根據不同條件的結果按照順序選擇執行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。

8.A

9.D列表是包含0個或多個元素的有序序列,屬于序列類型。列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用方括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產生IndexEiror錯誤。索引從0開始。列表可以進行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數據類型,可以使用比較運算符(如“>”或“<”等)對列表進行比較,也可以對列表進行成員運算操作、長度計算和分片。本題選擇D選項。

10.D在Python中,讀取CSV文件中的二維碼數據采用遍歷循環和字符串的split()方法相結合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。

11.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優點是能根據HTML和XML語法建立解析樹,進而高效解析其中的內容。

12.C保留字,也稱關鍵字,是編程語言內部定義并保留使用的標識符。Python3.x中有35個保留字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本題選擇C選項。

13.C在Python中,return語句用來結束函數并將程序返回到函數被調用的位置繼續執行。re-turn\n語句可以出現在函數中的任何部分,可以同時將0個、1\n個或多個函數運算結果返回給函數被調用處的變量。函數可以沒有return語句,此時函數并不返回值。當函數使用return語句返回多個值時,這些值形成了一個元組數據類型,由圓括號和逗號分隔,如(a,b,c),可以使用一個變量或多個變量保存結果。本題選擇C選項。

14.C

15.Aset()函數是將其他的組合數據類型變成集合類型,返回結果是一個無重復且排序任意的集合n因此,set(“htslbht”)的返回值是一個類似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后將其賦值給ss。sorted(ss)的返回值是對ss進行排序后的結果,即執行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項。

16.B在Python中,使用關鍵字def定義函數。本題選擇B選項。

17.C在Python中,文件的打開模式對應為:r表示只讀;w表示覆蓋寫;t表示文本文件模式;b表示二進制文件模式。本題選擇D選項。

18.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產生各種分布的偽隨機序列,是Python的標準庫。本題選擇C選項。

19.B當front=\nrear時可知隊列要么為空要么為滿,因為又成功地將一個元素退隊,說明之前隊列為滿(為空時隊列中無元素),退出一個元素后隊列中還有50-1\n=49個元素。本題選擇B選項。

20.A用于數據分析的第三方庫是pandas,PIL是Python在圖像處理方面的第三方庫,Django和flask庫是Python在Web開發方向的第三方庫。本題選擇A選項。

21.A程序中,chr(64)輸出的是字符@,之后用”+”連接字符串,最后輸出I@you。本題選擇A選項。

22.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規格說明書、需求評審四個方面。所以選擇D。

23.CPython文件讀取方法有:f.read()、f.readline()、f.readlines()、f.seek(),Python文件寫入方法有:f.write()、f.writelines()。本題選擇C選項。

24.B在Python中,使用pip工具來安裝和管理Python第三方庫,pip屬于Python的一部分。本題選擇B選項。

25.APython分支結構使用保留字if、elif和else來實現,每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執行if后續的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。

26.D程序的異常處理模塊,若try語句塊中的代碼異常,則進入except語句塊中,執行該處的代碼;沒有異常時,直接執行與try語句塊同級的代碼或者是else后面的代碼。本題選擇D選項。

27.D

28.C

29.C列表索引正向遞增索引從0開始,反向遞減索引從一1開始,ls[2][一1][2]指的是列表中下標為2的元素下的下標為一1元素下的下標為2的元素,輸出結果是s。本題選擇C選項。

30.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進制數,它只能表示以進制數的質因子為分母的分數。10的質因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精確表示;相反,1/3、1/6和1/7都是循環小數,因為它們的分母使用了質因子3或者7。二進制(進制數為2)下,只有一個質因子,即2,因此只能精確表示分母質因子是2的分數。二進制中,1/2、1/4和1/8都可以被精確表示,但1/5或者1/10就變成了循環小數。所以,在十進制中能夠精確表示的0.1與0.2(1/10與1/5),在計算機所使用的二進制中就變成了循環小數。當對這些循環小數進行數學運算并將二進制數據轉換成人類可讀的十進制數據時,會對小數尾部進行截斷處理。在不同的語言中,運行0.1+0.2會輸出不同的結果。本題選擇C選項。

31.Y

32.Y

33.Y

34.N

35.Y

36.Y

37.Y

38.N

39.N

40.N

41.[2,33,111]

42.True

43.None

44.5.0

45.[7,5,3]

46.回車換行

47.1

48.25

49.True

50.'assfff'

51.whileTrue:\r\n

s=input(”請輸入信息:”)\r\n

ifs=="y"ors=="Y":\r\n

break題目要求無限循環,即while的條件一直為真,所以為True,根據鍵盤輸人的信息判斷是否結束循環。當輸入的信息為y或Y時退出循環,所以if的判斷條件為或的關系。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“語文:{:.2f}\\n數學::{:.2f}\\n英語:{:.2f}\\n物理:{:2f}\\n科學:{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本題中“score,csv”文件中存儲的是二維數據,需要將其表示為二維列表對象。通過for循環遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲的均為一個學科名和對應的3次考試成績。要求平均成績,需要將該學科3次考試的成績相加,再除以3。實現方式為通過for循環遍歷二維列表Is中索引從1開始的元素,再嵌套for循環遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績相加),得出成績總和和平均成績,并將平均成績追加到列表x中。最后,列表x中存儲的就是每個學科的平均成績,使用format()方法按照題目給出的參考格式將其寫入“avg-score.\r\ntxt”文件。

53.importletter_list=[‘a’,‘b’,'c','d’,‘e’,'f’,’g’,‘h’,‘i’,‘j’,‘k’,‘l’,’m’,‘n’,‘o’,‘p’,’q’,‘r’,‘s’,’t’,‘u’,‘v’,’w’,‘x’,‘y’,‘z’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_input=input(‘請輸入26個小寫英文字母中的任一個:’)Count+=1Ifletter_inputnotinletter_list:Print(‘請重新輸入字母’)Else:Ifcount>5Print(‘猜測超過5次,答題失敗’)BreakElse:Ifletter_input==letter:Print(‘恭喜你答對了,總共猜了{}次’.format(count))BreakElifletter_input>letter:Print(‘你輸入的字母排在該字母之后’)Elifletter_inputPrint(‘你輸入的字母排在該字母之前’)Else:Print(‘未知錯誤’)隨機抽取26個小寫字母,需要使用Python的random庫中的函數。mndint(\r\na,b)函數生成一個區間為[a,b]的整數,用來隨機抽取列表中的字母。根據題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸入字母”;②若輸入的字符在列表中,則判斷輸入的次數是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環,在輸入次數之內,對輸入的字符與隨機抽取的字符進行比較,即大于、小于及等于,不同的比較范圍對應不同的輸出。河北省張家口市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下關于函數作用的描述中,錯誤的是()。

A.復用代碼B.提高代碼的執行速度C.增強代碼的可讀性D.降低代碼編程的復雜性

2.以下關于turtle庫的描述,錯誤的是()。

A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈

B.seth(x)是setheading(x)函數的別名,其作用是讓畫筆旋轉x角度

C.可以用importturtle來導入turtle庫函數

D.home()函數用于設置當前畫筆位置為原點,方向朝上

3.以下程序中,while循環的循環次數是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1

A.10B.5C.4D.死循環,不能確定

4.以下代碼運算結果為:a=7a*=7()

A.1B.14C.49D.7

5.確定軟件項目是否進行開發的文檔是()。

A.需求分析規格說明書B.可行性報告C.軟件開發計劃D.測試報告

6.如果文件a.txt在目錄’C:\\A’下,執行以下代碼會發生什么操作?()importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

7.以下關于分支結構的描述中,錯誤的是()。

A.if語句中語句塊執行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產生True和False的語句和函數

C.二分支結構有一種緊湊形式,使用保留字if和else實現

D.多分支結構用于設置多個判斷條件及其對應的多條執行路徑

8.關于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向對象是否為同值

B.is對比兩個變量指向對象是否為同一值,==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

9.以下關于Python列表的描述中,正確的是()。A.列表的長度和內容都可以改變,但元素類型必須相同

B.不可以對列表進行成員運算操作、長度計算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對列表進行比較

10.在Python中,讀入CSV文件保存的二維數據,按特定分隔符抽取信息,最可能用到的函數是()。

A.read()B.join()C.replace()D.split()

11.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應用程序框架C.支持webservices框架D.處理http請求

12.以下不屬于Python保留字的是()。

A.classB.passC.subD.def

13.以下關于Python的return語句的描述中,正確的是()。

A.函數只能返回一個值

B.函數必須有return語句

C.函數可以沒有return語句

D.函數中最多只有一個return語句

14.對于Python中的復數,下列說法錯誤的是()A.表示復數的語法是real+imagej

B.實部和虛部都是浮點數

C.虛部必須后綴j,且必須是小寫

D.復數對象之間無法進行比較

15.以下程序的輸出結果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)

A.hlbstB.htslbhtC.tsblthD.hhlstt

16.以下關于函數的定義與編寫的描述,錯誤的是()。

A.函數是代碼復用的一種方式

B.在Python中,使用關鍵字define定義函數

C.定義函數時,即使函數不需要接收任何參數,也必須保留空的圓括號來表示這是一個函數

D.編寫函數時,一般建議先對參數進行合法性檢查,然后再進行編寫

17.Python中文件的打開模式為“t”,對應的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進制文件模式

18.以下屬于Python機器學習方向的第三方庫的是()。

A.randomB.SnowNLPC.TensorflowD.loso

19.循環隊列的存儲空間為Q(l:50)。經過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數為()。

A.24B.49C.26D.0

20.在Python中,用于數據分析的第三方庫是()。

A.pandasB.PILC.DjangoD.Flask

21.以下程序的輸出結果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)

A.I@youB.IyouC.I4youD.Ichr(64)you

22.在軟件開發中,需求分析階段產生的主要文檔是()。

A.軟件集成測試計劃B.軟件詳細設計說明書C.用戶手冊D.軟件需求規格說明書

23.以下不屬于Python文件操作方法的是()。

A.read()B.write()C.join()D.readline()

24.在Python中,用來安裝第三方庫的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

25.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現,每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執行if后續的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

26.以下關于程序的異常處理的描述中,錯誤的是()。

A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續執行后面的代碼

B.—般不建議在try中放太多代碼,而是應該只放入可能會引發異常的代碼

C.帶有else子句的異常處理結構,如果不發生異常則執行else子句中的代碼

D.在try-except-else結構中,如果try子句的語句引發了異常,貝!]會執行else子句中的代碼

27.執行以下代碼的結果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

28.運行以下Python中表達式后,X的值為是x=3==3,5

A.3B.5C.(True,5)D.(False,5)

29.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式ls[2][一1][2]的結果是()。

A.mB.iC.sD.d

30.以下程序的輸出結果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

二、判斷題(10題)31.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進行遍歷二不需要進行任何修改,建議使用元組而不使用列表。

A.是B.否

32.異常處理結構中的finally塊中代碼仍然有可能出錯從而再次引發異常。

A.是B.否

33.列表對象的pop()方法默認刪除并返回最后一個元素,如果列表已空則拋出異常。

A.是B.否

34.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

35.Python字典中的“鍵”可以是元組。

A.是B.否

36.Python標準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

37.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.對于生成器對象x=(3foriinrange(5)),連續兩次執行list(x)的結果是一樣的。

A.是B.否

40.使用內置函數open()打開文件時,只要文件路徑正確就總是可以正確打開的。

A.是B.否

三、填空題(10題)41.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

42.表達式'abc10'.isalnum()的值為______________。

43.已知x=[3,7,5],那么執行語句x=x.sort(reverse=True)之后,x的值為_________。

44.表達式eval('''__import__('math').sqrt(3**2+4**2)''')的值為_________。

45.已知x=[3,7,5],那么執行語句x.sort(reverse=True)之后,x的值為_________________。

46.轉義字符’\n’的含義是___________________。

47.表達式'apple.peach,banana,pear'.find('p')的值為______________。

48.表達式sum(range(1,10,2))的值為____________。

49.表達式1<2<3的值為_________。

50.表達式''.join('asdssfff'.split('sd'))的值為____________。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:循環獲得用戶輸入,直至用戶輸入Y或者y字符退出程序。

試題程序:

#請在_______處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼while_________:

s=input(”請輸入信息:”)

if______:

break

52.考生文件夾下存在一個Python源文件“PY301.Py”,請按照文件內說明修改代碼,實現以下功能?!皊core,csv”文件中存儲的是一個學生在第一季度同一學科對應的月考成績,求出每一門學科在3個月中的平均成績,將結果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數學:88.00英語:85.67物理:67.33科學:81.00試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現以下功能。設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準

參考答案

1.B使用函數可以降低編程復雜性和增加代碼復用,增強代碼可讀性。代碼復用降低了代碼行數和代碼維護難度。本題選擇B選項。

2.Dturtle庫的home()函數用于設置當前畫筆位置為原點,朝向東。本題選擇D選項。

3.Dwhile循環的判斷條件為真時,進入循環體;判斷條件為假時,直接執行while同級的代碼。初始值為i=0,進入循環體之后,因為i<1,執行continue語句跳出本次循環,進入下一次循環。i的值始終為0,故程序為死循環。本題選擇D選項。

4.C

5.B可行性報告產生于軟件定義階段,用于確定軟件項目是否進行開發。

6.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會報OSError錯誤。

7.CPython的單分支結構使用if關鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結構使用if-else關鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結構使用if-elif-else關鍵字對多個相關條件進行判斷,并根據不同條件的結果按照順序選擇執行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。

8.A

9.D列表是包含0個或多個元素的有序序列,屬于序列類型。列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用方括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產生IndexEiror錯誤。索引從0開始。列表可以進行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數據類型,可以使用比較運算符(如“>”或“<”等)對列表進行比較,也可以對列表進行成員運算操作、長度計算和分片。本題選擇D選項。

10.D在Python中,讀取CSV文件中的二維碼數據采用遍歷循環和字符串的split()方法相結合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。

11.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優點是能根據HTML和XML語法建立解析樹,進而高效解析其中的內容。

12.C保留字,也稱關鍵字,是編程語言內部定義并保留使用的標識符。Python3.x中有35個保留字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本題選擇C選項。

13.C在Python中,return語句用來結束函數并將程序返回到函數被調用的位置繼續執行。re-turn\n語句可以出現在函數中的任何部分,可以同時將0個、1\n個或多個函數運算結果返回給函數被調用處的變量。函數可以沒有return語句,此時函數并不返回值。當函數使用return語句返回多個值時,這些值形成了一個元組數據類型,由圓括號和逗號分隔,如(a,b,c),可以使用一個變量或多個變量保存結果。本題選擇C選項。

14.C

15.Aset()函數是將其他的組合數據類型變成集合類型,返回結果是一個無重復且排序任意的集合n因此,set(“htslbht”)的返回值是一個類似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后將其賦值給ss。sorted(ss)的返回值是對ss進行排序后的結果,即執行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項。

16.B在Python中,使用關鍵字def定義函數。本題選擇B選項。

17.C在Python中,文件的打開模式對應為:r表示只讀;w表示覆蓋寫;t表示文本文件模式;b表示二進制文件模式。本題選擇D選項。

18.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產生各種分布的偽隨機序列,是Python的標準庫。本題選擇C選項。

19.B當front=\nrear時可知隊列要么為空要么為滿,因為又成功地將一個元素退隊,說明之前隊列為滿(為空時隊列中無元素),退出一個元素后隊列中還有50-1\n=49個元素。本題選擇B選項。

20.A用于數據分析的第三方庫是pandas,PIL是Python在圖像處理方面的第三方庫,Django和flask庫是Python在Web開發方向的第三方庫。本題選擇A選項。

21.A程序中,chr(64)輸出的是字符@,之后用”+”連接字符串,最后輸出I@you。本題選擇A選項。

22.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規格說明書、需求評審四個方面。所以選擇D。

23.CPython文件讀取方法有:f.read()、f.readline()、f.readlines()、f.seek(),Python文件寫入方法有:f.write()、f.writelines()。本題選擇C選項。

24.B在Python中,使用pip工具來安裝和管理Python第三方庫,pip屬于Python的一部分。本題選擇B選項。

25.APython分支結構使用保留字if、elif和else來實現,每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執行if后續的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。

26.D程序的異常處理模塊,若try語句塊中的代碼異常,則進入except語句塊中,執行該處的代碼;沒有異常時,直接執行與try語句塊同級的代碼或者是else后面的代碼。本題選擇D選項。

27.D

28.C

29.C列表索引正向遞增索引從0開始,反向遞減索引從一1開始,ls[2][一1][2]指的是列表中下標為2的元素下的下標為一1元素下的下標為2的元素,輸出結果是s。本題選擇C選項。

30.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進制數,它只能表示以進制數的質因子為分母的分數。10的質因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精確表示;相反,1/3、1/6和1/7都是循環小數,因為它們的分母使用了質因子3或者7。二進制(進制數為2)下,只有一個質因子,即2,因此只能精確表示分母質因子是2的分數。二進制中,1/2、1/4和1/8都可以被精確表示,但1/5或者1/10就變成了循環小數。所以,在十進制中能夠精確表示的0.1與0.2(1/10與1/5),在計算機所使用的二進制中就變成了循環小數。當對這些循環小數進行數學運算并將二進制數據轉換成人類可讀的十進制數據時,會對小數尾部進行截斷處理。在不同的語言中,運行0.1+0.2會輸出不同的結果。本題選擇C選項。

31.Y

32.Y

33.Y

34.N

35.Y

36.Y

37.Y

38.N

39.N

40.N

41.[2,33,111]

42.True

43.None

44.5.0

45.[7,5,3]

46.回車換行

47.1

48.25

49.True

50.'assfff'

51.whileTrue:\r\n

s=input(”請輸入信息:”)\r\n

ifs=="y"ors=="Y":\r\n

break題目要求無限循環,即while的條件一直為真,所以為True,根據鍵盤輸人的信息判斷是否結束循環。當輸入的信息為y或Y時退出循環,所以if的判斷條件為或的關系。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“語文:{:.2f}\\n數學::{:.2f}\\n英語:{:.2f}\\n物理:{:2f}\\n科學:{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本題中“score,csv”文件中存儲的是二維數據,需要將其表示為二維列表對象。通過for循環遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲的均為一個學科名和對應的3次考試成績。要求平均成績,需要將該學科3次考試的成績相加,再除以3。實現方式為通過for循環遍歷二維列表Is中索引從1開始的元素,再嵌套for循環遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績相加),得出成績總和和平均成績,并將平均成績追加到列表x中。最后,列表x中存儲的就是每個學科的平均成績,使用format()方法按照題目給出的參考格式將其寫入“avg-score.\r\ntxt”文件。

53.importletter_list=[‘a’,‘b’,'c','d’,‘e’,'f’,’g’,‘h’,‘i’,‘j’,‘k’,‘l’,’m’,‘n’,‘o’,‘p’,’q’,‘r’,‘s’,’t’,‘u’,‘v’,’w’,‘x’,‘y’,‘z’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_input=input(‘請輸入26個小寫英文字母中的任一個:’)Count+=1Ifletter_inputnotinletter_list:Print(‘請重新輸入字母’)Else:Ifcount>5Print(‘猜測超過5次,答題失敗’)BreakElse:Ifletter_input==letter:Print(‘恭喜你答對了,總共猜了{}次’.format(count))BreakElifletter_input>letter:Print(‘你輸入的字母排在該字母之后’)Elifletter_inputPrint(‘你輸入的字母排在該字母之前’)Else:Print(‘未知錯誤’)隨機抽取26個小寫字母,需要使用Python的random庫中的函數。mndint(\r\na,b)函數生成一個區間為[a,b]的整數,用來隨機抽取列表中的字母。根據題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸入字母”;②若輸入的字符在列表中,則判斷輸入的次數是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環,在輸入次數之內,對輸入的字符與隨機抽取的字符進行比較,即大于、小于及等于,不同的比較范圍對應不同的輸出。河北省張家口市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下關于函數作用的描述中,錯誤的是()。

A.復用代碼B.提高代碼的執行速度C.增強代碼的可讀性D.降低代碼編程的復雜性

2.以下關于turtle庫的描述,錯誤的是()。

A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈

B.seth(x)是setheading(x)函數的別名,其作用是讓畫筆旋轉x角度

C.可以用importturtle來導入turtle庫函數

D.home()函數用于設置當前畫筆位置為原點,方向朝上

3.以下程序中,while循環的循環次數是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1

A.10B.5C.4D.死循環,不能確定

4.以下代碼運算結果為:a=7a*=7()

A.1B.14C.49D.7

5.確定軟件項目是否進行開發的文檔是()。

A.需求分析規格說明書B.可行性報告C.軟件開發計劃D.測試報告

6.如果文件a.txt在目錄’C:\\A’下,執行以下代碼會發生什么操作?()importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

7.以下關于分支結構的描述中,錯誤的是()。

A.if語句中語句塊執行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產生True和False的語句和函數

C.二分支結構有一種緊湊形式,使用保留字if和else實現

D.多分支結構用于設置多個判斷條件及其對應的多條執行路徑

8.關于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向對象是否為同值

B.is對比兩個變量指向對象是否為同一值,==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

9.以下關于Python列表的描述中,正確的是()。A.列表的長度和內容都可以改變,但元素類型必須相同

B.不可以對列表進行成員運算操作、長度計算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對列表進行比較

10.在Python中,讀入CSV文件保存的二維數據,按特定分隔符抽取信息,最可能用到的函數是()。

A.read()B.join()C.replace()D.split()

11.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應用程序框架C.支持webservices框架D.處理http請求

12.以下不屬于Python保留字的是()。

A.classB.passC.subD.def

13.以下關于Python的return語句的描述中,正確的是()。

A.函數只能返回一個值

B.函數必須有return語句

C.函數可以沒有return語句

D.函數中最多只有一個return語句

14.對于Python中的復數,下列說法錯誤的是()A.表示復數的語法是real+imagej

B.實部和虛部都是浮點數

C.虛部必須后綴j,且必須是小寫

D.復數對象之間無法進行比較

15.以下程序的輸出結果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)

A.hlbstB.htslbhtC.tsblthD.hhlstt

16.以下關于函數的定義與編寫的描述,錯誤的是()。

A.函數是代碼復用的一種方式

B.在Python中,使用關鍵字define定義函數

C.定義函數時,即使函數不需要接收任何參數,也必須保留空的圓括號來表示這是一個函數

D.編寫函數時,一般建議先對參數進行合法性檢查,然后再進行編寫

17.Python中文件的打開模式為“t”,對應的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進制文件模式

18.以下屬于Python機器學習方向的第三方庫的是()。

A.randomB.SnowNLPC.TensorflowD.loso

19.循環隊列的存儲空間為Q(l:50)。經過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數為()。

A.24B.49C.26D.0

20.在Python中,用于數據分析的第三方庫是()。

A.pandasB.PILC.DjangoD.Flask

21.以下程序的輸出結果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)

A.I@youB.IyouC.I4youD.Ichr(64)you

22.在軟件開發中,需求分析階段產生的主要文檔是()。

A.軟件集成測試計劃B.軟件詳細設計說明書C.用戶手冊D.軟件需求規格說明書

23.以下不屬于Python文件操作方法的是()。

A.read()B.write()C.join()D.readline()

24.在Python中,用來安裝第三方庫的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

25.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現,每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執行if后續的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

26.以下關于程序的異常處理的描述中,錯誤的是()。

A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續執行后面的代碼

B.—般不建議在try中放太多代碼,而是應該只放入可能會引發異常的代碼

C.帶有else子句的異常處理結構,如果不發生異常則執行else子句中的代碼

D.在try-except-else結構中,如果try子句的語句引發了異常,貝!]會執行else子句中的代碼

27.執行以下代碼的結果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

28.運行以下Python中表達式后,X的值為是x=3==3,5

A.3B.5C.(True,5)D.(False,5)

29.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式ls[2][一1][2]的結果是()。

A.mB.iC.sD.d

30.以下程序的輸出結果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

二、判斷題(10題)31.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進行遍歷二不需要進行任何修改,建議使用元組而不使用列表。

A.是B.否

32.異常處理結構中的finally塊中代碼仍然有可能出錯從而再次引發異常。

A.是B.否

33.列表對象的pop()方法默認刪除并返回最后一個元素,如果列表已空則拋出異常。

A.是B.否

34.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

35.Python字典中的“鍵”可以是元組。

A.是B.否

36.Python標準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

37.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.對于生成器對象x=(3foriinrange(5)),連續兩次執行list(x)的結果是一樣的。

A.是B.否

40.使用內置函數open()打開文件時,只要文件路徑正確就總是可以正確打開的。

A.是B.否

三、填空題(10題)41.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

42.表達式'abc10'.isalnum()的值為______________。

43.已知x=[3,7,5],那么執行語句x=x.sort(reverse=True)之后,x的值為_________。

44.表達式eval('''__import__('math').sqrt(3**2+4**2)''')的值為_________。

45.已知x=[3,7,5],那么執行語句x.sort(reverse=True)之后,x的值為_________________。

46.轉義字符’\n’的含義是___________________。

47.表達式'apple.peach,banana,pear'.find('p')的值為______________。

48.表達式sum(range(1,10,2))的值為____________。

49.表達式1<2<3的值為_________。

50.表達式''.join('asdssfff'.split('sd'))的值為____________。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:循環獲得用戶輸入,直至用戶輸入Y或者y字符退出程序。

試題程序:

#請在_______處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼while_________:

s=input(”請輸入信息:”)

if______:

break

52.考生文件夾下存在一個Python源文件“PY301.Py”,請按照文件內說明修改代碼,實現以下功能?!皊core,csv”文件中存儲的是一個學生在第一季度同一學科對應的月考成績,求出每一門學科在3個月中的平均成績,將結果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數學:88.00英語:85.67物理:67.33科學:81.00試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現以下功能。設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準

參考答案

1.B使用函數可以降低編程復雜性和增加代碼復用,增強代碼可讀性。代碼復用降低了代碼行數和代碼維護難度。本題選擇B選項。

2.Dturtle庫的home()函數用于設置當前畫筆位置為原點,朝向東。本題選擇D選項。

3.Dwhile循環的判斷條件為真時,進入循環體;判斷條件為假時,直接執行while同級的代碼。初始值為i=0,進入循環體之后,因為i<1,執行continue語句跳出本次循環,進入下一次循環。i的值始終為0,故程序為死循環。本題選擇D選項。

4.C

5.B可行性報告產生于軟件定義階段,用于確定軟件項目是否進行開發。

6.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會報OSError錯誤。

7.CPython的單分支結構使用if關鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結構使用if-else關鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結構使用if-elif-else關鍵字對多個相關條件進行判斷,并根據不同條件的結果按照順序選擇執行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。

8.A

9.D列表是包含0個或多個元素的有序序列,屬于序列類型。列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用方括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產生IndexEiror錯誤。索引從0開始。列表可以進行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數據類型,可以使用比較運算符(如“>”或“<”等)對列表進行比較,也可以對列表進行成員運算操作、長度計算和分片。本題選擇D選項。

10.D在Python中,讀取CSV文件中的二維碼數據采用遍歷循環和字符串的split()方法相結合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。

11.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優點是能根據HTML和XML語法建立解析樹,進而高效解析其中的內容。

12.C保留字,也稱關鍵字,是編程語言內部定義并保留使用的標識符。Python3.x中有35個保留字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本題選擇C選項。

13.C在Python中,return語句用來結束函數并將程序返回到函數被調用的位置繼續執行。re-turn\n語句可以出現在函數中的任何部分,可以同時將0個、1\n個或多個函數運算結果返回給函數被調用處的變量。函數可以沒有return語句,此時函數并不返回值。當函數使用return語句返回多個值時,這些值形成了一個元組數據類型,由圓括號和逗號分隔,如(a,b,c),可以使用一個變量或多個變量保存結果。本題選擇C選項。

14.C

15.Aset()函數是將其他的組合數據類型變成集合類型,返回結果是一個無重復且排序任意的集合n因此,set(“htslbht”)的返回值是一個類似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后將其賦值給ss。sorted(ss)的返回值是對ss進行排序后的結果,即執行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項。

16.B在Python中,使用關鍵字def定義函數。本題選擇B選項。

17.C在Python中,文件的打開模式對應為:r表示只讀;w表示覆蓋寫;t表示文本文件模式;b表示二進制文件模式。本題選擇D選項。

18.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產生各種分布的偽隨機序列,是Python的標準庫。本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論