版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
四川省成都市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age
A.0個B.1個C.2個D.3個
2.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={1:as,2:sf}
C.d={(1,2):1,(3,4):3}
D.d={‘python’:1,2:[tea,cat]}
3.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))
A.20B.5555C.5D.9
4.下面函數(shù)能夠查看變量a指向?qū)ο髽俗R的命令是:a=''()
A.id()B.help()C.memroyview()D.type()
5.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
6.下列敘述中正確的是()。
A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)
B.鏈表只能是非線性結(jié)構(gòu)
C.快速排序也適用于線性鏈表
D.二分法查找也適用于有序鏈表
7.以下關(guān)于分支結(jié)構(gòu)的描述中,錯誤的是()。
A.if語句中語句塊執(zhí)行與否依賴于條件判斷
B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)
C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和else實現(xiàn)
D.多分支結(jié)構(gòu)用于設(shè)置多個判斷條件及其對應(yīng)的多條執(zhí)行路徑
8.以下程序的輸出應(yīng)該是()。ls=[[0,1],[5,6],[7,8]]lis=[]foriinrange(len(ls)): lis.append(ls[i][1])print(lis)
A.[1,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
9.關(guān)系數(shù)據(jù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標識元組的最小屬性或?qū)傩约?/p>
10.Python提供3種基本的數(shù)字類型,它們是()。
A.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型
B.整數(shù)類型、二進制類型、浮點數(shù)類型
C.整數(shù)類型、二進制類型、浮點數(shù)類型
D.整數(shù)類型、二進制類型、復(fù)數(shù)類型
11.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。
A.棧B.樹C.隊列D.二叉樹
12.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={l:as,2:sf}
C.d={(l,2):l,(3,4):3}
D.d={'python':1,2:[tea,cat]}
13.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
14.執(zhí)行以下代碼的結(jié)果是()A.3B.5C.6D.8
15.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
16.中學(xué)教師和授課班級之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,T#,G,Cr)(其屬性分別為學(xué)號、姓名、課程號、課程名、授課老師號、成績、學(xué)分)并且一門課程可由多個教師教授,則該關(guān)系的鍵是()。
A.S#,T#B.S#,C#C.S#D.C#
18.以下選項中不是Python文件讀/寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
19.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
20.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
21.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
22.下面對于類的說法錯誤的是()。
A.類是一種實例
B.在類進行實例化時將會首先執(zhí)行該類中的int方法
C.在對類進行實例化時,傳入的實參不用帶上self,它在類的執(zhí)行過程中將自行帶上
D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用
23.以下關(guān)于Python的return語句的描述中,正確的是()。
A.函數(shù)只能返回一個值
B.函數(shù)必須有return語句
C.函數(shù)可以沒有return語句
D.函數(shù)中最多只有一個return語句
24.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)
A.Ilovethe
B.IloveWodd
C.IlovetheWorld
D.IlovetheWod
25.下面代碼的輸出結(jié)果是()。list=[[0,1,2],"123.0","python"]a=all(list[0])b=list[1].split(".")c=ascii(list[2])print(a,b,c)
A.True['123']'python'
B.False['0']'l’
C.Tme[‘123’,’0’]丨1'
D.False[‘123’,’0’]'python’
26.以下程序的輸出結(jié)果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)
A.grandfatherB.granfaterC.grandD.father
27.對于以下代碼的描述正確的是()。s=”Pythonisgood”l=”isn’tit?”length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12。
B.s_title為”PYTHONISGOOD”
C.s_1為”Pythonisgoodisn’tit?”
D.s_number為”Python”
28.下面關(guān)于Python標準庫和第三方庫的說法正確的是()。
A.Python的第三方庫是Python安裝時默認自帶的庫
B.Python的標準庫和第三方庫的調(diào)用方式一樣,都需要用import語句調(diào)用
C.Python的第三方庫需要用import語句調(diào)用,而標準庫不需要
D.Python的標準庫需要用import語句調(diào)用,而第三方庫不需要
29.以下程序被調(diào)用后,能夠正確執(zhí)行的是()。deff(x,y=1,z=2):pass
A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)
30.以下關(guān)于程序設(shè)計語言的描述,錯誤的選項是()。
A.Python解釋器把Python代碼一次性翻譯成目標代碼,然后執(zhí)行
B.機器語言直接用二進制代碼表達指令
C.Python是一種通用編程語言
D.匯編語言是直接操作計算機硬件的編程語言
二、判斷題(10題)31.在定義函數(shù)時,某個參數(shù)名字前面帶有一個*符號表示可變長度參數(shù),可以接收任意多個普通實參并存放于一個元組之中。A.是B.否
32.一個數(shù)字5也是合法的Python表達式。
A.是B.否
33.Python代碼可以內(nèi)嵌在asp文件中。
A.是B.否
34.元組可以作為字典的“鍵”。
A.是B.否
35.無法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
36.可以使用del刪除集合中的部分元素。
A.是B.否
37.表達式{1,3,2}>{1,2,3}的值為True。
A.是B.否
38.字典可以作為集合的元素。
A.是B.否
39.Python列表、元組、字符串都屬于有序序列。
A.是B.否
40.如果在函數(shù)中有語句return3,那么該函數(shù)一定會返回整數(shù)3。
A.是B.否
三、填空題(10題)41.Python標準庫os.path中用來判斷指定文件是否存在的方法是______________。
42.已知x=[1,2,1],那么表達式id(x[0])==id(x[2])的值為_______________。
43.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。
44.已知列表x=[1,2],那么執(zhí)行語句x.extend([3])之后,x的值為____________。
45.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[:3]之后,x的值為__________。
46.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標準庫是_____________。
47.語句x=(3)執(zhí)行后x的值為________________。
48.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
49.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
50.表達式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值為___________________________________。
四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
52.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:獲取用戶輸入的一組數(shù)字,采用逗號分隔輸入,輸出其中的最大值。示例如下:請輸入一組數(shù)據(jù),以逗號分隔:8,78,54,520,21,34520
試題程序:
#請在______處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼data=eval(input(”請輸入一組數(shù)據(jù),以逗號分隔:”))print(________)
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對數(shù)計算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實數(shù),否則拋出對應(yīng)的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數(shù):’))b=eval(input(‘請輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實數(shù)’)else:print(C)
參考答案
1.D_init_()方法是一個特殊的方法,每當根據(jù)類創(chuàng)建新實例時,Python會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self,name,age都是init方法的形參,所以共3個。
2.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})建立,每個元素是一個鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
3.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進行數(shù)值運算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項。
4.A
5.A本題中,break語句出現(xiàn)在print語句之前,當if的條件為True時,執(zhí)行break語句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語句,故無輸出。
6.A線性表的鏈式存儲結(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)。快速排序和二分法查找適用于順序存儲的線性表。本題選擇A選項。
7.CPython的單分支結(jié)構(gòu)使用if關(guān)鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結(jié)構(gòu)使用if-else關(guān)鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結(jié)構(gòu)使用if-elif-else關(guān)鍵字對多個相關(guān)條件進行判斷,并根據(jù)不同條件的結(jié)果按照順序選擇執(zhí)行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。
8.Alen()函數(shù)獲得列表ls的長度,range()函數(shù)起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表ls存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。
9.D在關(guān)系(二維表)中凡是能唯一標識元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項。
10.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實數(shù)及復(fù)數(shù)。本題選擇A選項。
11.A棧支持子程序調(diào)用。棧是-種只能在-端進行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
12.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
13.D
14.A
15.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
16.D一位教師可以對多個班級授課,一個班級也可以由多位教師授課,因此,教師和授課班級之間的聯(lián)系是多對多聯(lián)系。
17.B由于該關(guān)系中有學(xué)號、姓名、課程號、課程名、授課老師號、成績、學(xué)分共7個屬性,則該關(guān)系的鍵為復(fù)合鍵;由于一門課程可由多個教師教授,(S#,T#)不能唯一標識元組,不能作為關(guān)系的鍵。因此該關(guān)系的鍵是(S#,C#)。
18.Cwrite():向文件寫人一個字符或字節(jié)流。wrkelines():將一個元素作為字符串的列表整體寫入文件。read():從文件中讀入整個文件內(nèi)容。本題選擇C選項。
19.B在需求分析階段可以使用的工具有數(shù)據(jù)流圖,數(shù)據(jù)字典(DataDictionary,DD),判定樹與判定表,本題選擇B選項。
20.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C項。
21.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
22.AA選項中類只是一種抽象事物的分類,對象才是一種實例。本題選擇A選項。
23.C在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。re-turn\n語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1\n個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return語句,此時函數(shù)并不返回值。當函數(shù)使用return語句返回多個值時,這些值形成了一個元組數(shù)據(jù)類型,由圓括號和逗號分隔,如(a,b,c),可以使用一個變量或多個變量保存結(jié)果。本題選擇C選項。
24.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項。
25.Dall(x)函數(shù)在組合類型變量x中所有元素為真時返回True,為假時返回False,若為空,則返回True,所以a的值為False;b中split()是字符串分隔函數(shù),返回分隔后的值應(yīng)為[‘123’,’0’]\n;c中ascii()的參數(shù)是字符串python,所以返回’python'。本題選擇D選項。
26.Bfor循環(huán)將字符串“grandfather.”中的字符依次賦給變量s,當s==“d”或s==“h”時,結(jié)束本次循環(huán),不執(zhí)行print(s,end=‘’);反之,執(zhí)行print(s,end=‘’)。故輸出結(jié)果為granfater。本題選擇B選項。
27.Clen()方法用來獲取字符串的長度,所以length應(yīng)為14;title()方法是把字符串每個單詞的首字母變?yōu)榇髮懀詰?yīng)為PythonIsGood;索引的序號是從0開始的,所以s[1:6]應(yīng)為ython。
28.BA選項錯誤,Python的標準庫是Python安裝時默認自帶的庫,而第三方庫需要下載后安裝到Python的安裝目錄下,不同的第三方庫安裝和使用方法不同;選項C、D錯誤,Python不論是標準庫還是第三方庫都需要用import語句調(diào)用。本題選擇B選項。
29.B函數(shù)的參數(shù)在定義時可以指定默認值,當函數(shù)被調(diào)用時,如果沒有傳人對應(yīng)的參數(shù)值,則使用函數(shù)定義時的默認值替代。本題在定義函數(shù)時,y=1,z=2就是指定的默認值。在Python中,函數(shù)調(diào)用時,參數(shù)傳遞的主要方式有位置傳遞和關(guān)鍵字傳遞兩種。位置傳遞是根據(jù)函數(shù)定義的參數(shù)位置來傳遞參數(shù);關(guān)鍵字傳遞是根據(jù)每個參數(shù)的名字傳遞參數(shù),該方式不用區(qū)分參數(shù)順序位置,名字對了就行。關(guān)鍵字傳遞可以和位置傳遞混用,但混用時位置參數(shù)要出現(xiàn)在關(guān)鍵字參數(shù)之前。A項,第一個參數(shù)為關(guān)鍵字傳遞,第二個參數(shù)為位置傳遞,混用順序不對;D項,第二個參數(shù)為關(guān)鍵字傳遞,第三個參數(shù)為位置傳遞,混用順序不對;C項,第一個參數(shù)已經(jīng)使用位置傳遞(將1傳遞給x),第二個參數(shù)又使用關(guān)鍵字傳遞將2傳遞給x,會出現(xiàn)異常報錯。故答案為B項。
30.Apython語言屬于腳本語言,腳本語言采用解釋方式執(zhí)行。解釋是將源代碼逐條轉(zhuǎn)換成目標代碼同時逐條運行目標代碼的過程,不是一次性翻譯的。
31.Y
32.Y
33.Y
34.Y
35.Y
36.N
37.N
38.N
39.Y
40.N
41.exists()
42.True
43.[2,33,111]
44.[1,2,3]
45.[4,5]
46.sqlite3
47.3
48.18
49.[1,4,5]
50.[1,13,89,237,100]
51.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n
其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}?!保甪ormat(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆?!痋r\n
format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n
{<參數(shù)序號>:<格式控制標記>}\r\n其中,格式控制標記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個字符。\r\n
<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n
<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。
52.data=eval(input(”請輸入一組數(shù)據(jù),以逗號分隔:”))\r\nprint(max(date))題目要求把輸入的數(shù)據(jù)中的最大值輸出,需使用max()方法。input()方法接收的數(shù)據(jù)是字符串類型,字符串的比較是根據(jù)ASCII進行比較的,所以需要使用eval()方法把字符串類型轉(zhuǎn)換Python可執(zhí)行的類型,然后使用max()方法對變量data進行比較。
53.?Importmathtry:a=eval(input('請輸入底數(shù):”))b=eval(input(‘請輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對數(shù),記作x\r\n=logaN其中a叫作對數(shù)的底數(shù),叫作真數(shù)。要使用對數(shù),需先導(dǎo)入math庫,math.log(x[,base])返回x的自然對數(shù),x>0。使用異常處理機制時,根據(jù)不同的錯誤類型,輸出不同的信息內(nèi)容,在值錯誤類型下,使用if判斷語句將有可能錯誤的信息進行處理。四川省成都市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age
A.0個B.1個C.2個D.3個
2.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={1:as,2:sf}
C.d={(1,2):1,(3,4):3}
D.d={‘python’:1,2:[tea,cat]}
3.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))
A.20B.5555C.5D.9
4.下面函數(shù)能夠查看變量a指向?qū)ο髽俗R的命令是:a=''()
A.id()B.help()C.memroyview()D.type()
5.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
6.下列敘述中正確的是()。
A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)
B.鏈表只能是非線性結(jié)構(gòu)
C.快速排序也適用于線性鏈表
D.二分法查找也適用于有序鏈表
7.以下關(guān)于分支結(jié)構(gòu)的描述中,錯誤的是()。
A.if語句中語句塊執(zhí)行與否依賴于條件判斷
B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)
C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和else實現(xiàn)
D.多分支結(jié)構(gòu)用于設(shè)置多個判斷條件及其對應(yīng)的多條執(zhí)行路徑
8.以下程序的輸出應(yīng)該是()。ls=[[0,1],[5,6],[7,8]]lis=[]foriinrange(len(ls)): lis.append(ls[i][1])print(lis)
A.[1,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
9.關(guān)系數(shù)據(jù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標識元組的最小屬性或?qū)傩约?/p>
10.Python提供3種基本的數(shù)字類型,它們是()。
A.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型
B.整數(shù)類型、二進制類型、浮點數(shù)類型
C.整數(shù)類型、二進制類型、浮點數(shù)類型
D.整數(shù)類型、二進制類型、復(fù)數(shù)類型
11.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。
A.棧B.樹C.隊列D.二叉樹
12.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={l:as,2:sf}
C.d={(l,2):l,(3,4):3}
D.d={'python':1,2:[tea,cat]}
13.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
14.執(zhí)行以下代碼的結(jié)果是()A.3B.5C.6D.8
15.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
16.中學(xué)教師和授課班級之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,T#,G,Cr)(其屬性分別為學(xué)號、姓名、課程號、課程名、授課老師號、成績、學(xué)分)并且一門課程可由多個教師教授,則該關(guān)系的鍵是()。
A.S#,T#B.S#,C#C.S#D.C#
18.以下選項中不是Python文件讀/寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
19.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
20.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
21.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
22.下面對于類的說法錯誤的是()。
A.類是一種實例
B.在類進行實例化時將會首先執(zhí)行該類中的int方法
C.在對類進行實例化時,傳入的實參不用帶上self,它在類的執(zhí)行過程中將自行帶上
D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用
23.以下關(guān)于Python的return語句的描述中,正確的是()。
A.函數(shù)只能返回一個值
B.函數(shù)必須有return語句
C.函數(shù)可以沒有return語句
D.函數(shù)中最多只有一個return語句
24.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)
A.Ilovethe
B.IloveWodd
C.IlovetheWorld
D.IlovetheWod
25.下面代碼的輸出結(jié)果是()。list=[[0,1,2],"123.0","python"]a=all(list[0])b=list[1].split(".")c=ascii(list[2])print(a,b,c)
A.True['123']'python'
B.False['0']'l’
C.Tme[‘123’,’0’]丨1'
D.False[‘123’,’0’]'python’
26.以下程序的輸出結(jié)果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)
A.grandfatherB.granfaterC.grandD.father
27.對于以下代碼的描述正確的是()。s=”Pythonisgood”l=”isn’tit?”length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12。
B.s_title為”PYTHONISGOOD”
C.s_1為”Pythonisgoodisn’tit?”
D.s_number為”Python”
28.下面關(guān)于Python標準庫和第三方庫的說法正確的是()。
A.Python的第三方庫是Python安裝時默認自帶的庫
B.Python的標準庫和第三方庫的調(diào)用方式一樣,都需要用import語句調(diào)用
C.Python的第三方庫需要用import語句調(diào)用,而標準庫不需要
D.Python的標準庫需要用import語句調(diào)用,而第三方庫不需要
29.以下程序被調(diào)用后,能夠正確執(zhí)行的是()。deff(x,y=1,z=2):pass
A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)
30.以下關(guān)于程序設(shè)計語言的描述,錯誤的選項是()。
A.Python解釋器把Python代碼一次性翻譯成目標代碼,然后執(zhí)行
B.機器語言直接用二進制代碼表達指令
C.Python是一種通用編程語言
D.匯編語言是直接操作計算機硬件的編程語言
二、判斷題(10題)31.在定義函數(shù)時,某個參數(shù)名字前面帶有一個*符號表示可變長度參數(shù),可以接收任意多個普通實參并存放于一個元組之中。A.是B.否
32.一個數(shù)字5也是合法的Python表達式。
A.是B.否
33.Python代碼可以內(nèi)嵌在asp文件中。
A.是B.否
34.元組可以作為字典的“鍵”。
A.是B.否
35.無法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
36.可以使用del刪除集合中的部分元素。
A.是B.否
37.表達式{1,3,2}>{1,2,3}的值為True。
A.是B.否
38.字典可以作為集合的元素。
A.是B.否
39.Python列表、元組、字符串都屬于有序序列。
A.是B.否
40.如果在函數(shù)中有語句return3,那么該函數(shù)一定會返回整數(shù)3。
A.是B.否
三、填空題(10題)41.Python標準庫os.path中用來判斷指定文件是否存在的方法是______________。
42.已知x=[1,2,1],那么表達式id(x[0])==id(x[2])的值為_______________。
43.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。
44.已知列表x=[1,2],那么執(zhí)行語句x.extend([3])之后,x的值為____________。
45.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[:3]之后,x的值為__________。
46.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標準庫是_____________。
47.語句x=(3)執(zhí)行后x的值為________________。
48.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
49.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
50.表達式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值為___________________________________。
四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
52.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:獲取用戶輸入的一組數(shù)字,采用逗號分隔輸入,輸出其中的最大值。示例如下:請輸入一組數(shù)據(jù),以逗號分隔:8,78,54,520,21,34520
試題程序:
#請在______處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼data=eval(input(”請輸入一組數(shù)據(jù),以逗號分隔:”))print(________)
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對數(shù)計算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實數(shù),否則拋出對應(yīng)的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數(shù):’))b=eval(input(‘請輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實數(shù)’)else:print(C)
參考答案
1.D_init_()方法是一個特殊的方法,每當根據(jù)類創(chuàng)建新實例時,Python會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self,name,age都是init方法的形參,所以共3個。
2.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})建立,每個元素是一個鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
3.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進行數(shù)值運算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項。
4.A
5.A本題中,break語句出現(xiàn)在print語句之前,當if的條件為True時,執(zhí)行break語句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語句,故無輸出。
6.A線性表的鏈式存儲結(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)??焖倥判蚝投址ú檎疫m用于順序存儲的線性表。本題選擇A選項。
7.CPython的單分支結(jié)構(gòu)使用if關(guān)鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結(jié)構(gòu)使用if-else關(guān)鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結(jié)構(gòu)使用if-elif-else關(guān)鍵字對多個相關(guān)條件進行判斷,并根據(jù)不同條件的結(jié)果按照順序選擇執(zhí)行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。
8.Alen()函數(shù)獲得列表ls的長度,range()函數(shù)起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表ls存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。
9.D在關(guān)系(二維表)中凡是能唯一標識元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項。
10.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實數(shù)及復(fù)數(shù)。本題選擇A選項。
11.A棧支持子程序調(diào)用。棧是-種只能在-端進行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
12.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
13.D
14.A
15.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
16.D一位教師可以對多個班級授課,一個班級也可以由多位教師授課,因此,教師和授課班級之間的聯(lián)系是多對多聯(lián)系。
17.B由于該關(guān)系中有學(xué)號、姓名、課程號、課程名、授課老師號、成績、學(xué)分共7個屬性,則該關(guān)系的鍵為復(fù)合鍵;由于一門課程可由多個教師教授,(S#,T#)不能唯一標識元組,不能作為關(guān)系的鍵。因此該關(guān)系的鍵是(S#,C#)。
18.Cwrite():向文件寫人一個字符或字節(jié)流。wrkelines():將一個元素作為字符串的列表整體寫入文件。read():從文件中讀入整個文件內(nèi)容。本題選擇C選項。
19.B在需求分析階段可以使用的工具有數(shù)據(jù)流圖,數(shù)據(jù)字典(DataDictionary,DD),判定樹與判定表,本題選擇B選項。
20.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C項。
21.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
22.AA選項中類只是一種抽象事物的分類,對象才是一種實例。本題選擇A選項。
23.C在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。re-turn\n語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1\n個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return語句,此時函數(shù)并不返回值。當函數(shù)使用return語句返回多個值時,這些值形成了一個元組數(shù)據(jù)類型,由圓括號和逗號分隔,如(a,b,c),可以使用一個變量或多個變量保存結(jié)果。本題選擇C選項。
24.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項。
25.Dall(x)函數(shù)在組合類型變量x中所有元素為真時返回True,為假時返回False,若為空,則返回True,所以a的值為False;b中split()是字符串分隔函數(shù),返回分隔后的值應(yīng)為[‘123’,’0’]\n;c中ascii()的參數(shù)是字符串python,所以返回’python'。本題選擇D選項。
26.Bfor循環(huán)將字符串“grandfather.”中的字符依次賦給變量s,當s==“d”或s==“h”時,結(jié)束本次循環(huán),不執(zhí)行print(s,end=‘’);反之,執(zhí)行print(s,end=‘’)。故輸出結(jié)果為granfater。本題選擇B選項。
27.Clen()方法用來獲取字符串的長度,所以length應(yīng)為14;title()方法是把字符串每個單詞的首字母變?yōu)榇髮?,所以?yīng)為PythonIsGood;索引的序號是從0開始的,所以s[1:6]應(yīng)為ython。
28.BA選項錯誤,Python的標準庫是Python安裝時默認自帶的庫,而第三方庫需要下載后安裝到Python的安裝目錄下,不同的第三方庫安裝和使用方法不同;選項C、D錯誤,Python不論是標準庫還是第三方庫都需要用import語句調(diào)用。本題選擇B選項。
29.B函數(shù)的參數(shù)在定義時可以指定默認值,當函數(shù)被調(diào)用時,如果沒有傳人對應(yīng)的參數(shù)值,則使用函數(shù)定義時的默認值替代。本題在定義函數(shù)時,y=1,z=2就是指定的默認值。在Python中,函數(shù)調(diào)用時,參數(shù)傳遞的主要方式有位置傳遞和關(guān)鍵字傳遞兩種。位置傳遞是根據(jù)函數(shù)定義的參數(shù)位置來傳遞參數(shù);關(guān)鍵字傳遞是根據(jù)每個參數(shù)的名字傳遞參數(shù),該方式不用區(qū)分參數(shù)順序位置,名字對了就行。關(guān)鍵字傳遞可以和位置傳遞混用,但混用時位置參數(shù)要出現(xiàn)在關(guān)鍵字參數(shù)之前。A項,第一個參數(shù)為關(guān)鍵字傳遞,第二個參數(shù)為位置傳遞,混用順序不對;D項,第二個參數(shù)為關(guān)鍵字傳遞,第三個參數(shù)為位置傳遞,混用順序不對;C項,第一個參數(shù)已經(jīng)使用位置傳遞(將1傳遞給x),第二個參數(shù)又使用關(guān)鍵字傳遞將2傳遞給x,會出現(xiàn)異常報錯。故答案為B項。
30.Apython語言屬于腳本語言,腳本語言采用解釋方式執(zhí)行。解釋是將源代碼逐條轉(zhuǎn)換成目標代碼同時逐條運行目標代碼的過程,不是一次性翻譯的。
31.Y
32.Y
33.Y
34.Y
35.Y
36.N
37.N
38.N
39.Y
40.N
41.exists()
42.True
43.[2,33,111]
44.[1,2,3]
45.[4,5]
46.sqlite3
47.3
48.18
49.[1,4,5]
50.[1,13,89,237,100]
51.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n
其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}。”.format(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆。’\r\n
format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n
{<參數(shù)序號>:<格式控制標記>}\r\n其中,格式控制標記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個字符。\r\n
<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n
<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。
52.data=eval(input(”請輸入一組數(shù)據(jù),以逗號分隔:”))\r\nprint(max(date))題目要求把輸入的數(shù)據(jù)中的最大值輸出,需使用max()方法。input()方法接收的數(shù)據(jù)是字符串類型,字符串的比較是根據(jù)ASCII進行比較的,所以需要使用eval()方法把字符串類型轉(zhuǎn)換Python可執(zhí)行的類型,然后使用max()方法對變量data進行比較。
53.?Importmathtry:a=eval(input('請輸入底數(shù):”))b=eval(input(‘請輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對數(shù),記作x\r\n=logaN其中a叫作對數(shù)的底數(shù),叫作真數(shù)。要使用對數(shù),需先導(dǎo)入math庫,math.log(x[,base])返回x的自然對數(shù),x>0。使用異常處理機制時,根據(jù)不同的錯誤類型,輸出不同的信息內(nèi)容,在值錯誤類型下,使用if判斷語句將有可能錯誤的信息進行處理。四川省成都市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age
A.0個B.1個C.2個D.3個
2.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={1:as,2:sf}
C.d={(1,2):1,(3,4):3}
D.d={‘python’:1,2:[tea,cat]}
3.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))
A.20B.5555C.5D.9
4.下面函數(shù)能夠查看變量a指向?qū)ο髽俗R的命令是:a=''()
A.id()B.help()C.memroyview()D.type()
5.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
6.下列敘述中正確的是()。
A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)
B.鏈表只能是非線性結(jié)構(gòu)
C.快速排序也適用于線性鏈表
D.二分法查找也適用于有序鏈表
7.以下關(guān)于分支結(jié)構(gòu)的描述中,錯誤的是()。
A.if語句中語句塊執(zhí)行與否依賴于條件判斷
B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)
C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和else實現(xiàn)
D.多分支結(jié)構(gòu)用于設(shè)置多個判斷條件及其對應(yīng)的多條執(zhí)行路徑
8.以下程序的輸出應(yīng)該是()。ls=[[0,1],[5,6],[7,8]]lis=[]foriinrange(len(ls)): lis.append(ls[i][1])print(lis)
A.[1,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
9.關(guān)系數(shù)據(jù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標識元組的最小屬性或?qū)傩约?/p>
10.Python提供3種基本的數(shù)字類型,它們是()。
A.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型
B.整數(shù)類型、二進制類型、浮點數(shù)類型
C.整數(shù)類型、二進制類型、浮點數(shù)類型
D.整數(shù)類型、二進制類型、復(fù)數(shù)類型
11.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。
A.棧B.樹C.隊列D.二叉樹
12.以下關(guān)于Python字典變量的定義中,正確的是()。
A.d={[1,2]:1,[3,4]:3}
B.d={l:as,2:sf}
C.d={(l,2):l,(3,4):3}
D.d={'python':1,2:[tea,cat]}
13.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
14.執(zhí)行以下代碼的結(jié)果是()A.3B.5C.6D.8
15.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
16.中學(xué)教師和授課班級之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,T#,G,Cr)(其屬性分別為學(xué)號、姓名、課程號、課程名、授課老師號、成績、學(xué)分)并且一門課程可由多個教師教授,則該關(guān)系的鍵是()。
A.S#,T#B.S#,C#C.S#D.C#
18.以下選項中不是Python文件讀/寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
19.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
20.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
21.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
22.下面對于類的說法錯誤的是()。
A.類是一種實例
B.在類進行實例化時將會首先執(zhí)行該類中的int方法
C.在對類進行實例化時,傳入的實參不用帶上self,它在類的執(zhí)行過程中將自行帶上
D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用
23.以下關(guān)于Python的return語句的描述中,正確的是()。
A.函數(shù)只能返回一個值
B.函數(shù)必須有return語句
C.函數(shù)可以沒有return語句
D.函數(shù)中最多只有一個return語句
24.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)
A.Ilovethe
B.IloveWodd
C.IlovetheWorld
D.IlovetheWod
25.下面代碼的輸出結(jié)果是()。list=[[0,1,2],"123.0","python"]a=all(list[0])b=list[1].split(".")c=ascii(list[2])print(a,b,c)
A.True['123']'python'
B.False['0']'l’
C.Tme[‘123’,’0’]丨1'
D.False[‘123’,’0’]'python’
26.以下程序的輸出結(jié)果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)
A.grandfatherB.granfaterC.grandD.father
27.對于以下代碼的描述正確的是()。s=”Pythonisgood”l=”isn’tit?”length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12。
B.s_title為”PYTHONISGOOD”
C.s_1為”Pythonisgoodisn’tit?”
D.s_number為”Python”
28.下面關(guān)于Python標準庫和第三方庫的說法正確的是()。
A.Python的第三方庫是Python安裝時默認自帶的庫
B.Python的標準庫和第三方庫的調(diào)用方式一樣,都需要用import語句調(diào)用
C.Python的第三方庫需要用import語句調(diào)用,而標準庫不需要
D.Python的標準庫需要用import語句調(diào)用,而第三方庫不需要
29.以下程序被調(diào)用后,能夠正確執(zhí)行的是()。deff(x,y=1,z=2):pass
A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)
30.以下關(guān)于程序設(shè)計語言的描述,錯誤的選項是()。
A.Python解釋器把Python代碼一次性翻譯成目標代碼,然后執(zhí)行
B.機器語言直接用二進制代碼表達指令
C.Python是一種通用編程語言
D.匯編語言是直接操作計算機硬件的編程語言
二、判斷題(10題)31.在定義函數(shù)時,某個參數(shù)名字前面帶有一個*符號表示可變長度參數(shù),可以接收任意多個普通實參并存放于一個元組之中。A.是B.否
32.一個數(shù)字5也是合法的Python表達式。
A.是B.否
33.Python代碼可以內(nèi)嵌在asp文件中。
A.是B.否
34.元組可以作為字典的“鍵”。
A.是B.否
35.無法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
36.可以使用del刪除集合中的部分元素。
A.是B.否
37.表達式{1,3,2}>{1,2,3}的值為True。
A.是B.否
38.字典可以作為集合的元素。
A.是B.否
39.Python列表、元組、字符串都屬于有序序列。
A.是B.否
40.如果在函數(shù)中有語句return3,那么該函數(shù)一定會返回整數(shù)3。
A.是B.否
三、填空題(10題)41.Python標準庫os.path中用來判斷指定文件是否存在的方法是______________。
42.已知x=[1,2,1],那么表達式id(x[0])==id(x[2])的值為_______________。
43.表達式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。
44.已知列表x=[1,2],那么執(zhí)行語句x.extend([3])之后,x的值為____________。
45.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[:3]之后,x的值為__________。
46.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標準庫是_____________。
47.語句x=(3)執(zhí)行后x的值為________________。
48.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
49.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
50.表達式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值為___________________________________。
四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
52.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:獲取用戶輸入的一組數(shù)字,采用逗號分隔輸入,輸出其中的最大值。示例如下:請輸入一組數(shù)據(jù),以逗號分隔:8,78,54,520,21,34520
試題程序:
#請在______處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼data=eval(input(”請輸入一組數(shù)據(jù),以逗號分隔:”))print(________)
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對數(shù)計算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實數(shù),否則拋出對應(yīng)的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數(shù):’))b=eval(input(‘請輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實數(shù)’)else:print(C)
參考答案
1.D_init_()方法是一個特殊的方法,每當根據(jù)類創(chuàng)建新實例時,Python會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self,name,age都是init方法的形參,所以共3個。
2.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})建立,每個元素是一個鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
3.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進行數(shù)值運算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項。
4.A
5.A本題中,break語句出現(xiàn)在print語句之前,當if的條件為True時,執(zhí)行break語句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語句,故無輸出。
6.A線性表的鏈式存儲結(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)??焖倥判蚝投址ú檎疫m用于順序存儲的線性表。本題選擇A選項。
7.CPython的單分支結(jié)構(gòu)使用if關(guān)鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結(jié)構(gòu)使用if-else關(guān)鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結(jié)構(gòu)使用if-elif-else關(guān)鍵字對多個相關(guān)條件進行判斷,并根據(jù)不同條件的結(jié)果按照順序選擇執(zhí)行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。
8.Alen()函數(shù)獲得列表ls的長度,range()函數(shù)起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表ls存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。
9.D在關(guān)系(二維表)中凡是能唯一標識元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項。
10.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實數(shù)及復(fù)數(shù)。本題選擇A選項。
11.A棧支持子程序調(diào)用。棧是-種只能在-端進行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
12.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項A、D錯誤。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項。
13.D
14.A
15.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
16.D一位教師可以對多個班級授課,一個班級也可以由多位教師授課,因此,教師和授課
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年浦城縣招教考試備考題庫附答案
- 食品生產(chǎn)與加工規(guī)范操作手冊
- 2024年貴陽信息科技學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年蚌埠市特崗教師招聘考試真題題庫附答案
- 2024年重慶藝術(shù)工程職業(yè)學(xué)院輔導(dǎo)員考試筆試題庫附答案
- 2025年中央戲劇學(xué)院輔導(dǎo)員招聘備考題庫附答案
- 2025年企業(yè)內(nèi)部審計與合規(guī)風(fēng)險控制實施手冊
- 2025北京豐臺社區(qū)工作者和“兩新”領(lǐng)域黨務(wù)專職工作者招聘257人備考題庫附答案
- 2025內(nèi)蒙古通遼市奈曼旗招聘社區(qū)工作者31人備考題庫附答案
- 2025四川宜賓市珙縣總工會第一次招聘社會化工會工作者2人備考題庫附答案
- 2025年11月15日江西省市直遴選筆試真題及解析(B卷)
- 2025年國家開放大學(xué)(電大)《國際經(jīng)濟法》期末考試復(fù)習(xí)題庫及答案解析
- 人教版四年級英語上冊《??家族e題》
- 導(dǎo)樂用具使用課件
- 七年級英語上冊新教材解讀課件(譯林版2024)
- 煤礦機電設(shè)備檢修標準及安全技術(shù)措施
- “師生機”協(xié)同育人模式的實踐探索與效果評估
- 軍事地形學(xué)識圖用圖課件
- KTV服務(wù)流程標準
- 2025建筑工地食堂承包合同范本
- 風(fēng)電場庫管理辦法
評論
0/150
提交評論