Python編程基礎(chǔ)與應(yīng)用 第2版 試卷及答案 共3套_第1頁
Python編程基礎(chǔ)與應(yīng)用 第2版 試卷及答案 共3套_第2頁
Python編程基礎(chǔ)與應(yīng)用 第2版 試卷及答案 共3套_第3頁
Python編程基礎(chǔ)與應(yīng)用 第2版 試卷及答案 共3套_第4頁
Python編程基礎(chǔ)與應(yīng)用 第2版 試卷及答案 共3套_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE第1頁共2頁試卷A一、判斷題:對畫“√”,錯(cuò)畫“×”(每小題1分,共20分)()1.Python是一種跨平臺、開源、免費(fèi)的高級動(dòng)態(tài)編程語言。(對)()2.Python3.x完全兼容Python2.x。(錯(cuò))()3.Python3.x和Python2.x唯一的區(qū)別就是:print在Python2.x中是輸出語句,而在Python3.x中是輸出函數(shù)。(錯(cuò))()4.在Windows平臺上編寫的Python程序無法在Unix平臺運(yùn)行。(錯(cuò))()5.不可以在同一臺計(jì)算機(jī)上安裝多個(gè)Python版本。(錯(cuò))()6.3+4j是合法Python數(shù)字類型。(對)()7.在Python中0oa1是合法的八進(jìn)制數(shù)字表示形式。(錯(cuò))()8.Python使用縮進(jìn)來體現(xiàn)代碼之間的邏輯關(guān)系。(對)()9.Python代碼的注釋只有一種方式,那就是使用#符號。(錯(cuò))()10.列表可以作為字典的“鍵”。(錯(cuò))()11.元組可以作為字典的“鍵”。(對)()12.字典的“鍵”必須是不可變的。(對)()13.已知x為非空列表,那么表達(dá)式sorted(x,reverse=True)==list(reversed(x))的值一定是True。(錯(cuò))()14.表達(dá)式‘b’-1的值為’a’。(錯(cuò))()15.表達(dá)式list('[1,2,3]')的值是[1,2,3]。(錯(cuò))()16.已知x=list(range(20)),那么語句x[::2]=[]可以正常執(zhí)行。(錯(cuò))()17.在循環(huán)中continue語句的作用是跳出當(dāng)前循環(huán)。(錯(cuò))()18.帶有else子句的循環(huán)如果因?yàn)閳?zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼。(錯(cuò))()19.Python運(yùn)算符%不僅可以用來求余數(shù),還可以用來格式化字符串。(對)()20.表達(dá)式{}==None的值為True。(錯(cuò))二、填空題:(每空1分,共20分)1. Python標(biāo)準(zhǔn)庫math中用來計(jì)算平方根的函數(shù)是__________。(sqrt)2.在Python中__________表示空類型。(None)3.列表、元組、字符串是Python的_________(有序?無序?)序列。(有序)4.以13為實(shí)部-2為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。(13-2j、13-2J)5.表達(dá)式int('143')的值為_____________。(143)6.Python內(nèi)置函數(shù)____________用來返回序列中的最小元素。(min())7.已知x=3,那么執(zhí)行語句x+=3之后,x的值為_______________。(6)8.表達(dá)式3<<2的值為_______________。(12)9.表達(dá)式abs(6+8j)的值為____________。(10.0)10.語句x=4==4,4執(zhí)行結(jié)束后,變量x的值為_____________。((True,4))11.表達(dá)式[3]in[1,3,13,24]的值為________________。(False)12.使用列表推導(dǎo)式生成包含10個(gè)數(shù)字4的列表,語句可以寫為_______________。([4foriinrange(10)])13.切片操作list(range(6))[::2]執(zhí)行結(jié)果為________________。([0,2,4])14.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。(open())15.使用上下文管理關(guān)鍵字______________可以自動(dòng)管理文件對象,不論何種原因結(jié)束該關(guān)鍵字中的語句塊,都能保證文件被正確關(guān)閉。(with)16.Python中定義函數(shù)的關(guān)鍵字是_________________。(def)17.在函數(shù)內(nèi)部可以通過關(guān)鍵字________________來定義全局變量。(global)18.已知f=lambdax:x+5,那么表達(dá)式f(3)的值為________。(8)19.Python使用_________________關(guān)鍵字來定義類。(class)三、簡答題:(每小題3分,共9分)1.寫出Python運(yùn)算符&的兩種功能?(1)數(shù)字位運(yùn)算;2)集合交集運(yùn)算。)2.在Python中導(dǎo)入模塊中的對象有哪幾種方式?(1)import模塊名[as別名];2)from模塊名import對象名[as別名];3)frommathimport*)3、為什么應(yīng)盡量從列表的尾部進(jìn)行元素的增加與刪除操作?當(dāng)列表增加或刪除元素時(shí),列表對象自動(dòng)進(jìn)行內(nèi)存擴(kuò)展或收縮,從而保證元素之間沒有縫隙,但這涉及到列表元素的移動(dòng),效率較低,應(yīng)盡量從列表尾部進(jìn)行元素的增加與刪除操作以提高處理速度。四、編程題(51分)1.編寫程序,生成一個(gè)包含20個(gè)0-80之間隨機(jī)整數(shù)的列表,然后對其中偶數(shù)下標(biāo)的元素進(jìn)行降序排列,奇數(shù)下標(biāo)的元素不變。(11分)importrandomx=[random.randint(0,80)foriinrange(20)]print(x)y=x[::2]y.sort(reverse=True)x[::2]=yprint(x)2.編寫函數(shù),判斷一個(gè)數(shù)字是否為素?cái)?shù),是則返回字符串YES,否則返回字符串NO。(15分)importmathdefIsPrime(v):n=int(math.sqrt(v)+1)foriinrange(2,n):ifv%i==0:return'No'else:return'Yes'3.在當(dāng)前目錄下,新建一個(gè)“199.xlsx”文件,里面包含了2級菜單的內(nèi)容,可以自己定義。用tkinter來創(chuàng)建一個(gè)交互界面,能自動(dòng)讀取該文件,并顯示2級菜單內(nèi)容,其中分割線可以隨機(jī)生成。(25分)試卷B一、判斷題:對畫“√”,錯(cuò)畫“×”(每小題1分,共20分)()1.已知x=3,那么賦值語句x='edfg'是無法正常執(zhí)行的。(錯(cuò))()2.Python2.x完全兼容Python3.x。(錯(cuò))()3.Python3.x和Python2.x唯一的區(qū)別就是:print在Python2.x中是輸出語句,而在Python3.x中是輸出函數(shù)。()4.在Python中可以使用if作為變量名。(錯(cuò))()5.可以在同一臺計(jì)算機(jī)上安裝多個(gè)Python版本。(對)()6.5-14j是合法Python數(shù)字類型。()7.放在一對三引號之間的任何內(nèi)容將被認(rèn)為是注釋。(錯(cuò))()8.為了讓代碼更加緊湊,編寫Python程序時(shí)應(yīng)盡量避免加入空格和空行。(錯(cuò))()9.安裝Python擴(kuò)展庫時(shí)只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。(錯(cuò))()10.列表可以作為字典的“鍵”。()11.已知x為非空列表,那么x.sort(reverse=True)和x.reverse()的作用是等價(jià)的。(錯(cuò))()12.Python集合中的元素不允許重復(fù)。(對)()13.已知x為非空列表,那么表達(dá)式sorted(x,reverse=True)==list(reversed(x))的值一定是True。()14.表達(dá)式‘c’-1的值為’b’。()15.表達(dá)式list('[7,-2,13]')的值是[7,-2,13]。()16.列表對象的append()方法屬于原地操作,用于在列表尾部追加一個(gè)元素。(對)()17.在循環(huán)中continue語句的作用是跳出當(dāng)前循環(huán)。()18.元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個(gè)元組對象。(對)()19.Python字典和集合屬于無序序列。(對)()20.表達(dá)式{}==None的值為True。二、填空題(每空1分,共20分)1. 查看變量類型的Python內(nèi)置函數(shù)是________________。(type())2.Python運(yùn)算符中用來計(jì)算整商的是_________。(//)3.使用運(yùn)算符測試集合包含集合A是否為集合B的真子集的表達(dá)式可以寫作_______。(A<B)4.以22為實(shí)部5為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。5.表達(dá)式int('221')的值為_____________。6.Python內(nèi)置函數(shù)____________用來返回序列中的最大元素。7.已知x=3,那么執(zhí)行語句x+=5之后,x的值為_______________。8.表達(dá)式65>>1的值為_____________。(32)9.表達(dá)式16**0.5的值為____________。(4.0)10.語句x=3==3,3執(zhí)行結(jié)束后,變量x的值為_____________。11.表達(dá)式[3]in[1,3,13,24]的值為________________。12.表達(dá)式{1,2,3,4}-{3,4,5,6}的值為__________________。({1,2})13.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。([6,7,8,9])14.表達(dá)式{1,2,3}<{3,4,5}的值為_________。(False)15.使用上下文管理關(guān)鍵字______________可以自動(dòng)管理文件對象,不論何種原因結(jié)束該關(guān)鍵字中的語句塊,都能保證文件被正確關(guān)閉。16.已知x={1:1,2:2},那么執(zhí)行語句x[2]=4之后,len(x)的值為____________。(2)17.在函數(shù)內(nèi)部可以通過關(guān)鍵字________________來定義全局變量。18.表達(dá)式'abcdefg'.split('d')的值為__________________。(['abc','efg'])19.Python使用_________________關(guān)鍵字來定義類。三、簡答題(每小題3分,共9分)1.簡單解釋Python基于值的自動(dòng)內(nèi)存管理方式?Python采用的是基于值得內(nèi)存管理方式,在Python中可以為不同變量賦值為相同值,這個(gè)值在內(nèi)存中只有一份,多個(gè)變量指向同一個(gè)內(nèi)存地址;Python具有自動(dòng)內(nèi)存管理功能,會自動(dòng)跟蹤內(nèi)存中所有的值,對于沒有任何變量指向的值,Python自動(dòng)將其刪除。2.Python程序異常和錯(cuò)誤有什么區(qū)別?異常是指因?yàn)槌绦驁?zhí)行過程中出錯(cuò)而在正常控制流以外采取的行為。嚴(yán)格來說,語法錯(cuò)誤和邏輯錯(cuò)誤不屬于異常,但有些語法錯(cuò)誤往往會導(dǎo)致異常,例如由于大小寫拼寫錯(cuò)誤而訪問不存在的對象,或者試圖訪問不存在的文件,等等。3、為什么應(yīng)盡量從列表的尾部進(jìn)行元素的增加與刪除操作?當(dāng)列表增加或刪除元素時(shí),列表對象自動(dòng)進(jìn)行內(nèi)存擴(kuò)展或收縮,從而保證元素之間沒有縫隙,但這涉及到列表元素的移動(dòng),效率較低,應(yīng)盡量從列表尾部進(jìn)行元素的增加與刪除操作以提高處理速度。四、編程題(51分)1.編寫程序,運(yùn)行后用戶輸入4位整數(shù)作為年份,判斷其是否為閏年。如果年份能被400整除,則為閏年;如果年份能被4整除但不能被100整除也為閏年。x=input('Pleaseinputanintegerof4digitsmeaningtheyear:')x=eval(x)ifx%400==0or(x%4==0andnotx%100==0):print('Yes')else:print('No')2.編寫函數(shù),判斷一個(gè)數(shù)字是否為素?cái)?shù),是則返回字符串RIGHT,否則返回字符串ERROR。(15分)3.在當(dāng)前目錄下,新建一個(gè)“200.xlsx”文件,里面包含了2級菜單的內(nèi)容,可以自己定義。用tkinter來創(chuàng)建一個(gè)交互界面,能自動(dòng)讀取該文件,并顯示2級菜單內(nèi)容,其中分割線可以隨機(jī)生成。(25分)試卷C一、判斷題:對畫“√”,錯(cuò)畫“×”(每小題1分,共20分)()1.已知x=5,那么賦值語句x='edfg'是無法正常執(zhí)行的。(錯(cuò))()2.Python3.9向下兼容Python3.8。(對)()3.在任何時(shí)刻相同的值在內(nèi)存中都只保留一份。(錯(cuò))()4.在Python中可以使用continue作為變量名。(錯(cuò))()5.可以在同一臺計(jì)算機(jī)上安裝多個(gè)Python版本。(對)()6.5-14j是合法Python數(shù)字類型。(對)()7.放在一對三引號之間的任何內(nèi)容將被認(rèn)為是注釋。(錯(cuò))()8.不管輸入什么,Python3.x中input()函數(shù)的返回值總是字符串。(對)()9.在Python3.x中運(yùn)算符+不僅可以實(shí)現(xiàn)數(shù)值的相加、字符串連接,還可以實(shí)現(xiàn)列表、元組的合并和集合的并集運(yùn)算。(錯(cuò))()10.一般來說,Python擴(kuò)展庫沒有通用于所有版本Python的,安裝時(shí)應(yīng)選擇與已安裝Python的版本對應(yīng)的擴(kuò)展庫。(對)()11.已知x為非空列表,那么x.sort(reverse=True)和x.reverse()的作用是等價(jià)的。(錯(cuò))()12.Python集合不支持使用下標(biāo)訪問其中的元素。(對)()13.已知列表x中包含超過5個(gè)以上的元素,那么語句x=x[:5]+x[5:]的作用是將列表x中的元素循環(huán)左移5位。(錯(cuò))()14.表達(dá)式{1,2}*2的值為{1,2,1,2}。(錯(cuò))()15.成員測試運(yùn)算符in作用于集合時(shí)比作用于列表快得多。(對)()16.列表對象的append()方法屬于原地操作,用于在列表尾部追加一個(gè)元素。(對)()17.表達(dá)式int('1'*64,2)與sum(2**iforiinrange(64))的計(jì)算結(jié)果是一樣的,但是前者更快一些。(對)()18.元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個(gè)元組對象。(對)()19.已知列表x=[1,2,3,4],那么表達(dá)式x.find(5)的值應(yīng)為-1。(錯(cuò))()20.在GBK和CP936編碼中一個(gè)漢字需要2個(gè)字節(jié)。(對)二、填空題(每空1分,共20分)1. 表達(dá)式{1,2,3}<{1,2,4}的值為___________。(False)2.表達(dá)式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。([2,4])3.使用運(yùn)算符測試集合包含集合A是否為集合B的真子集的表達(dá)式可以寫作_______。(A<B)4.以17為實(shí)部-8為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。5.已知x為非空列表,那么執(zhí)行語句y=x[:]之后,id(x[0])==id(y[0])的值為__________。(True)6.已知x=(3,),那么表達(dá)式x*3的值為_____________。((3,3,3))7.已知x=3,那么執(zhí)行語句x+=5之后,x的值為_______________。8.表達(dá)式65>>1的值為_____________。(32)9.已知列表x=list(range(10)),那么執(zhí)行語句delx[::2]之后,x的值為_________。([1,3,5,7,9])10.語句x=3==3,3執(zhí)行結(jié)束后,變量x的值為_____________。11.已知x=[1,2,3],那么執(zhí)行語句x[len(x)-1:]=[4,5,6]之后,變量x的值為_________________________________。([1,2,4,5,6])12.表達(dá)式{1,2,3,4}-{3,4,5,6}的值為__________________。({1,2})13.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。([6,7,8,9])14.執(zhí)行代碼x,y,z=sorted([1,3,2])之后,變量y的值為______。(2)15.已知x=[[1,3,3],[2,3,1]],那么表達(dá)式sorted(x,key=lambdaitem:item[0]+item[2])的值為_____________________。([[2,3,1],[1,3,3]])16.已知x={1:1,2:2},那么執(zhí)行語句x[2]=4之后,len(x)的值為____________。(2)17.在函數(shù)內(nèi)部可以通過關(guān)鍵字________________來定義全局變量。18.表達(dá)式5if5>6else(6if3>2else5)的值為_________。(6)19.Python使用_________________關(guān)鍵字來定義類。三、簡答題(每小題3分,共9分)1.結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)是什么?第一點(diǎn):采用自頂向下,逐步細(xì)化的程序設(shè)計(jì)方法在需求分析、概要設(shè)計(jì)中,都采用了自頂向下,逐層細(xì)化的方法。第二點(diǎn):使用三種基本控制結(jié)構(gòu)構(gòu)造程序 任何程序都可由順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)構(gòu)造,即用順序方式對過程分解,確定各部分的執(zhí)行順序;用選擇方式對過程分解,確定某個(gè)部分的執(zhí)行條件;用循環(huán)方式對過程分解,確定某個(gè)部分進(jìn)行重復(fù)的開始和結(jié)束的條件;對處理過程仍然模糊的部分反復(fù)使用以上分解方法,最終可將所有細(xì)節(jié)確定下來。2.Python程序異常和錯(cuò)誤有什么區(qū)別?異常是指因?yàn)槌绦驁?zhí)行過程中出錯(cuò)而在正??刂屏饕酝獠扇〉男袨?。嚴(yán)格來說,語法錯(cuò)誤和邏輯錯(cuò)誤不屬于異常,但有些語法錯(cuò)誤往往會導(dǎo)致異常,例如由于大小寫拼寫錯(cuò)誤而訪問不存在的對象,或者試圖訪問不存在的文件,等等。3、請描述assert語句的語法結(jié)構(gòu)。assert表達(dá)式 assert語句的執(zhí)行流程可以用if判斷語句表示,如下所示:if表達(dá)式==True:程序繼續(xù)執(zhí)行else:程序報(bào)AssertionError錯(cuò)誤 assert語句通常用于檢查用戶的輸入是否符合規(guī)定,還經(jīng)常用作程序初期測試和調(diào)試過程中的輔助工具。四、編程題(51分)1.對列表的元素進(jìn)行f

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論