廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)_第1頁
廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)_第2頁
廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)_第3頁
廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)_第4頁
廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

廣東省東莞市全國計算機等級考試Python語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.某完全二叉樹有256個節點,則該二叉樹的深度為()。

A.7B.8C.9D.10

2.以下代碼的輸出結果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)

A.PythonB.PythonNC.PythonNiD.PythonNice

3.當在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數值?

A.argv[0]B.argv[1]C.argv[2]D.argv[3]

4.關于以下程序的描述中,正確的是()。deffact(n): s=1 foriinrange(1,n+1): s*=i returns

A.代碼中n是可選參數

B.fact(n)函數功能為求n的階乘

C.s是全局變量

D.range()函數的范圍是[1,n+1]

5.下面關于Python中函數參數的說法錯誤的是()。

A.在函數定義時必須固定參數的數量

B.使用位置參數傳參時實參的數量和順序必須和函數聲明時的參數一樣

C.若是參數有默認值,在調用函數時沒有給參數賦值,調用的函數就會使用這個默認值

D.關鍵字參數傳參是指在調用函數時通過參數名傳遞值

6.執行以下程序,導致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)

A.’aa’B.’12’C.aaD.12

7.S=’1234567890’,以下表示’1234’的選項是()。

A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]

8.商品銷售的售貨單和商品之間的聯系是()。

A.多對多B.一對多C.多對一D.一對一

9.在Python中,不能作為變量名的是()。

A.studentB._bmgC.5spD.Teacher

10.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

11.以下不是函數作用的選項是()。

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

12.設線性表的長度為12。最壞情況下冒泡排序需要的比較次數為()。

A.66B.78C.144D.60

13.關于Python文件打開模式,表示錯誤的是()。

A.rtB.nbC.abD.wt

14.以下操作中對象t=(1,3.7,5+2j,'test'),哪個是正確的()

A.t.remove(0)B.t.count()C.t.sortD.list(t)

15.定義學生選修課程的關系模式如下:SC(S#,sn,C#,Cn,G,Cr)(其屬性分別為學號、姓名、課程號、課程名、成績、學分)則對主屬性部分依賴的是()。

A.C#→CnB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#

16.以下程序的輸出結果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

17.以下選項中不是Python文件目錄操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

18.以下不能創建一個字典的語句是()。

A.dic={}

B.dic={1:5}

C.dic={(1,2):“use”}

D.dic={[1,2]:“use”}

19.以下關于Python列表的描述中,正確的是()。

A.列表的長度和內容都可以改變,但元素類型必須相同

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

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

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

20.文件family,txt在當前代碼所在目錄內,其內容是一段文本:Wearefamily。以下代碼的輸出結果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()

A.txtB.family,txtC.非其他答案D.Wearefamily

21.以下關于字符串的描述正確的是()。

A.字符應視為長度為1或2的字符串

B.字符串的字符可進行數學運算,但進行數學運算的字符必須為數字

C.在三引號字符串中可包含換行、回車等特殊的字符

D.字符串可以進行切片并賦值

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

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

23.以下程序輸出的圖形是()。foriinrange(-3,4): ifi<0: print(‘’*(-i)+‘*’*(4+i)) elifi>0: print(‘’*3+‘*’*(4-i)) else: print(‘*’*7)

A.

B.

C.

D.

24.以下程序的輸出結果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

25.以下代碼的輸出結果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

26.以下關于文件的打開和關閉的描述中,正確的是()。

A.二進制文件不能使用記事本程序打開

B.二進制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內容

C.使用內置函數open()且以“w”模式打開文件,若文件存在,則會引發異常

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

27.執行以下代碼的結果是()A.2B.5C.8D.Anexceptionisthrown

28.一棵二叉樹共有25個節點,其中5個是葉子節點,則度為1的節點數為()。

A.16B.10C.6D.4

29.以下代碼的輸出結果是()。ls=[]formin’想念’:fornin’家人’:ls.append(m+n)print(ls)

A.想念家人B.想想念念家家人人C.想家想人念家念人D.[’想家’,’想人’,’念家’,’念人’]

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

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

二、判斷題(10題)31.3+4j不是合法的Python表達式。

A.是B.否

32.在Python中可以使用if作為變量名。

A.是B.否

33.在IDLE交互模式下,一個下劃線“_”表示解釋器中最后一次顯示的內容或最后一次語句正確執行的輸出結果。

A.是B.否

34.Python變量名區分大小寫,所以student和Student不是同一個變量。

A.是B.否

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

A.是B.否

36.盡管可以使用import語句一次導入任意多個標準庫或擴展庫,但是仍建議每次只導入一個標準庫或擴展庫。

A.是B.否

37.在Python中定義類時實例方法的第一個參數名稱不管是什么,都表示對象自身。

A.是B.否

38.在Python3.5中運算符+不僅可以實現數值的相加、字符串連接,還可以實現列表、元組的連接和集合的并集運算。

A.是B.否

39.運算符“-”可以用于集合的差集運算。

A.是B.否

40.已知x=3,那么賦值語句x='abcedfg'是無法正常執行的。

A.是B.否

三、填空題(10題)41.已知vec=[[1,2],[3,4]],則表達式[colforrowinvecforcolinrow]的值為__________________________。

42.表達式type('3')in(int,float,complex)的值為__________。

43.表達式list(range(50,60,3))的值為_______________________。

44.表達式round(3.4)的值為___________。

45.一直g=lambdax,y=3,z=5:x*y*z,則語句print(g(1))的輸出結果為_______。

46.Python運算符中用來計算整商的是_________。

47.已知x=3,那么執行語句x*=6之后,x的值為________________。

48.表達式'%s'%65的值為__________。

49.表達式3*2的值為___________。

50.已知函數定義deffunc(**p):returnsum(p.values()),那么表達式func(x=1,y=2,z=3)的值為________。

四、操作題(3題)51.考生文件夾下存在一個文件PY202.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現如下功能:

編寫程序,實現將列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素數去除,并輸出去除素數后列表的元素個數,結果保存在考生文件夾下,命名為“PY202.txt”。。請結合程序整體框架,補充橫線處代碼。

試題程序:

#以下代碼為提示框架

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此處可以是多行代碼

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#處為一行代碼fo.write(”>>>(),列表長度為{}".format(_______,_________)))fo.close()

52.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現如下功能。用鍵盤輸入兩個大于0的整數,按要求輸出這兩個整數之間(不包括這兩個整數)的所有素數。素數又稱質數,是指除了1和它本身以外不能被其他整數整除的數。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準lower=int(input(‘輸入區間最小值:’))upper=int(inputs(‘輸入區間最大值:’))fornuminrange(_____,_____):

53.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現以下功能:

設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數并退出游戲。

試題程序:

#以下代碼為提示框架

#請在…處使用一行或多行代碼替換

#請在______處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準

import_________

letter_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']

etter=letter_list[random.______(0,25)]

count=0

whileTrue:…

參考答案

1.C

2.Bfor循環遍歷字符串,將字符串中的字符依次賦值給變量s,當s==i的時候,跳出該循環,輸出之前變量s被賦值的字符,所以輸出為PythonN。本題選擇B選項。

3.C

4.B函數定義時的語法如下。def<函數名>(<非可選參數列表>,<可選參數>=<默認值>):\t<函數體>return<返回值列表>可選參數一般都放置在非可選參數的后面。本題代碼中,n為非可選參數,fact(n)函數的功能為求n的階乘。s在函數內部定義,為局部變量。根據range()函數的定義,range(1,n+1)的范圍是[1,n],不包含n+1。本題選擇B選項。

5.A在Python中,在函數定義時是可以設計可變數量參數的,通過在參數前加星號(*)實現。可變參數在定義時只有兩種變現形式:*param和**param,前者表示可以接受多個位置參數收集的實參組成一個元組,后者表示可以接收多個關鍵字參數收集的實參名和值組成一個字典。

6.C無論用戶輸入的是字符還是數字,input()函數統一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數處理字符串’aa’,去掉其兩側的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。

7.D對字符串中某個子串或區間的檢索稱為切片。切片的使用方式如下:\n<字符串或字符串變量>[N:M]\n切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引序號,可以混合使用正向遞增序號和反向遞減序號。切片要求N和M都在字符串的索引區間,如果N大于等于M,則返回空字符串。如果N缺失,則默認將N設為0;如果M缺失,則默認表示到字符串結尾。\n題干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。

8.A一張售貨單可以有多種商品的記錄,一種商品也可以出現在多張售貨單上。因此售貨單和商品之間的聯系是多對多。

9.C在Python中,變量名的命名規則:以字母或下劃線開頭,后面跟字母、下劃線和數字;不能以數字開頭。本題選擇C選項。

10.D

11.A函數是一段具有特定功能的、可重用的語句組,通過函數名來表示和調用。使用函數可以降低編程復雜度和增加代碼復用,增強代碼可讀性。故答案為A。

12.A最壞情況下冒泡排序需要的比較次數為n(n—1)/2,本題中n=12,故需要比較66次。本題選擇A選項。

13.BPython中open()函數提供了7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。故表示錯誤的是B項。

14.D

15.A關系SC中的主鍵是(S#,C#),但C#(課程號)單獨就可以決定Cn(課程名),存在著對主鍵的部分依賴。本題答案為A選項。

16.C這段代碼是全局變量、局部變量以及Python內置函數bool()的一個結合。當函數內部的局部變量名和函數外部全局變量名相同,調用函數時,總是先找到函數內部的局部變量名,所以當a為2時,經過布爾型轉換之后的a-2,即b為False,而在函數外部只能訪問全局變量名,所以n仍為2。本題選擇C選項。

17.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。

18.D字典的“鍵”必須為不可變類型;字典的值可以是任意類型。本題選擇D選項。

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

20.Copen()函數打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數有兩個參數:文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內容。print(txt)語句輸出的是變量txt\n代表的文件的相關信息:<_io.TextIOWrappername=’family,txt'mode=’r’encoding=\n‘cP936'>。若想要輸出文件的內容,需要把文件的內容讀入,如txtl=txt.read()。本題選擇C選項。

21.C字符應視為長度為1的字符串;字符串中的字符不可以進行數學運算,如果是數字字符串,則需要將其轉換為數值類型方可計算;字符串可進行切片,但不能賦值。本題選擇C選項。

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

23.Ai的取值區間為[-3,4)且為整數,當i=0時,根據判斷條件應在一行輸出7個*,且行前無空格。通過4個選項比較,采用排除法,只有A選項滿足條件。本題選擇A選項。

24.DTest_llst是列表類型,6inTest_llst表示如果6是列表Test_llst的元素,則返回True,否則返回False。本題選擇D選項。

25.C該程序最外層是while循環,while循環的條件是True,由此可知while內的語句會無限循環。input()函數是用來獲取用戶從鍵盤輸入的內容并以字符串類型返回。eval()函數是把字符串轉換成Python可用的語言。if語句的作用是來控制程序是否繼續循環,判斷條件中0x452是十六進制數,對2整除的結果是553,如果用戶輸入的數據是553,則將結果輸出并終止循環;如果輸入其他數據,程序會一直要求用戶輸入直到輸入正確的數據才會終止循環。本題選C選項。

26.B二進制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內容;用內置函數open()且以”w”模式打開文件,若文件存在,則會覆蓋原來的內容而不會引發異常。本題選擇B選項。

27.D

28.A根據二叉樹的性質3:在任意一棵二叉樹中,度為0的葉子結點總是比度為2的結點多一個,所以本題中度為2的結點是5-1\n=4個,所以度為1的結點的個數是25-5-4=16個。本題選擇A選項。

29.D外層for第1次循環將字符’想’賦給變量m,m=’想’,內層for第1次循環將’家’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’想家’加入到列表ls中;內層for第2次循環將’人’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’想人’加入到列表ls中。外層for第2次循環將字符’念’賦給變量m,m=’念’,內層for第1次循環將’家’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’念家’加入到列表ls中;內層for第2次循環將’人’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’念人’加入到列表ls中。最后列表ls=[’想家’,’想人’,’念家’,’念人’],print(ls)輸出ls。本題選D選項。

30.C

31.N

32.N

33.Y

34.Y

35.Y

36.Y

37.Y

38.N

39.Y

40.N

41.[1,2,3,4]

42.FalseTrue

43.[50,53,56,59]

44.3

45.15

46.//

47.18

48.'65'

49.6

50.6

51.fo=open(”PY202.txt”,”w”)\r\n

defprime(num):\r\n

foriinrange(2,num);\r\n

ifnum%i==0;\r\n

returnFalse

returnTrue\r\n

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n

lis=[]\r\nforiinls:\r\n

ifprime(i)==False:\r\n

lis.append(i)\r\nfo.write(”>>>{},列表長度為{}”.format(lis.len(lis)))\r\n

fo.close()素數是只能被1和它本身整除的自然數。prime()函數用于判斷一個數是否為素數,如果一個數num,能被2到num一1之間的任意一個整數整除,那該數不為素數(返回False),否則為素數(返回True)。\r\n最后,通過for循環遍歷列表ls中的元素,通過調用函數判斷該元素是否為素數,將不是素數的元素使用append()方法添加到一個新的列表lis中,再將新列表的元素和元素個數寫入到文件中去。

52.lower=int(input(‘輸入區間最小值:’))upper=int(inputs(‘輸入區間最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染個(2,num):If(num%i)==0:BreakElse:Prin

溫馨提示

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

最新文檔

評論

0/150

提交評論