華北理工大學(xué)《python語(yǔ)言程序設(shè)計(jì)》2019-2020學(xué)年第一學(xué)期期末試卷_第1頁(yè)
華北理工大學(xué)《python語(yǔ)言程序設(shè)計(jì)》2019-2020學(xué)年第一學(xué)期期末試卷_第2頁(yè)
華北理工大學(xué)《python語(yǔ)言程序設(shè)計(jì)》2019-2020學(xué)年第一學(xué)期期末試卷_第3頁(yè)
華北理工大學(xué)《python語(yǔ)言程序設(shè)計(jì)》2019-2020學(xué)年第一學(xué)期期末試卷_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

站名:站名:年級(jí)專業(yè):姓名:學(xué)號(hào):凡年級(jí)專業(yè)、姓名、學(xué)號(hào)錯(cuò)寫、漏寫或字跡不清者,成績(jī)按零分記?!堋狻€…………第1頁(yè),共1頁(yè)華北理工大學(xué)

《python語(yǔ)言程序設(shè)計(jì)》2019-2020學(xué)年第一學(xué)期期末試卷題號(hào)一二三四總分得分一、單選題(本大題共20個(gè)小題,每小題1分,共20分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、在Python的函數(shù)定義中,假設(shè)有一個(gè)函數(shù)

defmy_function(x,y=[]):y.append(x);returny

,多次調(diào)用這個(gè)函數(shù)時(shí),以下關(guān)于函數(shù)行為的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.如果不傳遞

y

的值,每次調(diào)用都會(huì)修改同一個(gè)默認(rèn)的列表對(duì)象B.傳遞一個(gè)新的列表作為

y

的值時(shí),函數(shù)只會(huì)修改傳遞的列表C.每次調(diào)用函數(shù)返回的列表都是新創(chuàng)建的D.函數(shù)的默認(rèn)參數(shù)

y

只在函數(shù)定義時(shí)創(chuàng)建一次2、在Python的列表推導(dǎo)式和生成器表達(dá)式中,以下敘述不正確的是()A.列表推導(dǎo)式可以快速創(chuàng)建一個(gè)新的列表,根據(jù)現(xiàn)有列表的元素進(jìn)行計(jì)算或篩選B.生成器表達(dá)式與列表推導(dǎo)式類似,但返回的是一個(gè)生成器對(duì)象,而不是一個(gè)列表C.生成器表達(dá)式在處理大量數(shù)據(jù)時(shí)比列表推導(dǎo)式更節(jié)省內(nèi)存D.列表推導(dǎo)式和生成器表達(dá)式的語(yǔ)法完全相同,只是返回的結(jié)果類型不同3、Python中的字符串操作非常豐富。假設(shè)要將一個(gè)字符串中的所有大寫字母轉(zhuǎn)換為小寫字母,以下哪個(gè)方法是正確的?()A.

s.lower()

B.

s.upper()

C.

s.swapcase()

D.

s.casefold()

4、在Python中,當(dāng)處理大量數(shù)據(jù)并需要提高程序的性能時(shí),經(jīng)常會(huì)考慮使用生成器函數(shù)。假設(shè)我們有一個(gè)生成器函數(shù)用于生成一個(gè)無(wú)限的斐波那契數(shù)列,以下關(guān)于生成器函數(shù)的特點(diǎn)和使用,哪一個(gè)描述是正確的?()A.生成器函數(shù)在每次被調(diào)用時(shí)都會(huì)從頭開始生成數(shù)列B.可以通過(guò)直接對(duì)生成器對(duì)象進(jìn)行索引來(lái)獲取特定位置的數(shù)C.生成器函數(shù)在執(zhí)行過(guò)程中可以根據(jù)條件暫停和恢復(fù)執(zhí)行D.生成器函數(shù)生成的數(shù)列可以直接存儲(chǔ)在一個(gè)固定長(zhǎng)度的列表中5、對(duì)于Python中的類型提示(typehinting),以下描述錯(cuò)誤的是:()A.類型提示可以提高代碼的可讀性和可維護(hù)性B.可以使用typing模塊提供的類型來(lái)進(jìn)行類型提示C.類型提示只是一種提示,Python解釋器不會(huì)進(jìn)行類型檢查D.類型提示對(duì)代碼的性能有很大的影響6、在Python中,關(guān)于模塊的搜索路徑。當(dāng)導(dǎo)入一個(gè)模塊時(shí),Python會(huì)按照一定的順序搜索模塊,以下對(duì)于模塊搜索路徑的理解,哪個(gè)是正確的?()A.只搜索當(dāng)前腳本所在的目錄B.按照環(huán)境變量指定的路徑搜索C.先搜索內(nèi)置模塊,然后搜索當(dāng)前目錄和系統(tǒng)默認(rèn)路徑D.隨機(jī)搜索目錄,直到找到模塊為止7、Python中的生成器(Generator)可以實(shí)現(xiàn)按需生成數(shù)據(jù),節(jié)省內(nèi)存。假設(shè)有一個(gè)生成器函數(shù)

defmy_generator():yield1yield2yield3

,以下對(duì)于生成器的描述,哪一項(xiàng)是不正確的?()A.可以通過(guò)

gen=my_generator()

創(chuàng)建一個(gè)生成器對(duì)象B.使用

next(gen)

可以依次獲取生成器生成的值C.生成器函數(shù)在遇到

yield

語(yǔ)句時(shí)會(huì)暫停執(zhí)行,下次調(diào)用時(shí)從暫停處繼續(xù)D.生成器可以無(wú)限生成數(shù)據(jù),不會(huì)有終止的情況8、在Python的對(duì)象屬性訪問(wèn)控制中,以下關(guān)于

@property

裝飾器的描述,不正確的是()A.

@property

裝飾器可以將一個(gè)方法轉(zhuǎn)換為只讀屬性B.可以通過(guò)

@property

裝飾器實(shí)現(xiàn)對(duì)屬性的訪問(wèn)控制和數(shù)據(jù)驗(yàn)證C.使用

@property

裝飾器后,不能再直接修改屬性的值D.

@property

裝飾器只能用于類的實(shí)例方法,不能用于類方法9、在Python中,當(dāng)我們需要使用正則表達(dá)式來(lái)匹配一個(gè)包含數(shù)字和字母的字符串時(shí),以下哪個(gè)正則表達(dá)式模式是正確的?()A.

r'\d+\w+'

B.

r'\w+\d+'

C.

r'\d\w'

D.

r'\w\d'

10、在Python中,關(guān)于上下文管理器(with語(yǔ)句)的描述,以下正確的是:()A.上下文管理器可以自動(dòng)處理資源的獲取和釋放,確保資源在使用后正確釋放B.只有文件對(duì)象可以作為上下文管理器使用C.自定義的類要實(shí)現(xiàn)上下文管理器,必須定義

__enter__

__close__

方法D.上下文管理器不能用于處理數(shù)據(jù)庫(kù)連接等資源11、假設(shè)我們有一個(gè)列表

numbers=[1,2,2,3,3,3,4,4,4,4]

,想要計(jì)算每個(gè)數(shù)字出現(xiàn)的次數(shù),以下哪種方法是正確的?()A.使用字典來(lái)統(tǒng)計(jì)B.使用集合來(lái)去除重復(fù)元素,然后計(jì)算每個(gè)元素的個(gè)數(shù)C.使用列表的

count

方法D.無(wú)法直接計(jì)算每個(gè)數(shù)字出現(xiàn)的次數(shù)12、在Python中,關(guān)于異常的自定義。假設(shè)要定義一個(gè)自定義異常類

MyException

,繼承自

Exception

類,以下哪種方式是正確的?()A.

classMyException(Exception):pass

B.

classMyException(Exception):def__init__(self):pass

C.

classMyException:pass

D.

classMyException(Exception):def__str__(self):pass

13、在Python的面向?qū)ο缶幊讨校僭O(shè)有一個(gè)類

classMyClass:def__init__(self,x):self.x=x

,然后創(chuàng)建了兩個(gè)對(duì)象

obj1=MyClass(10)

obj2=MyClass(20)

,以下關(guān)于這兩個(gè)對(duì)象的描述,哪一項(xiàng)是正確的?()A.

obj1

obj2

具有相同的屬性

x

,值都是20B.

obj1

obj2

具有相同的屬性

x

,值分別是10和20C.

obj1

obj2

是完全相同的對(duì)象,共享相同的屬性和方法D.

obj1

obj2

沒有任何關(guān)系,彼此獨(dú)立14、對(duì)于Python的模塊搜索路徑,以下關(guān)于其工作原理的描述,哪一項(xiàng)是錯(cuò)誤的?()A.首先搜索當(dāng)前目錄B.然后按照

PYTHONPATH

環(huán)境變量指定的路徑搜索C.接著搜索Python安裝目錄下的標(biāo)準(zhǔn)庫(kù)模塊D.模塊搜索路徑是固定的,不能修改15、對(duì)于Python中的上下文變量(ContextVariable),假設(shè)我們需要在不同的代碼上下文之間傳遞和共享數(shù)據(jù)。以下關(guān)于上下文變量的描述,哪一個(gè)是正確的?()A.上下文變量只能在單個(gè)線程內(nèi)使用B.上下文變量的值在不同的上下文之間是自動(dòng)同步的C.可以使用上下文變量在多個(gè)協(xié)程之間共享數(shù)據(jù)D.上下文變量的使用會(huì)導(dǎo)致數(shù)據(jù)競(jìng)爭(zhēng)和不一致性16、在Python的面向?qū)ο缶幊讨?,類的屬性和方法的使用非常關(guān)鍵。假設(shè)有一個(gè)類

Person

,定義了屬性

name

和方法

introduce(self)

用于介紹自己。當(dāng)我們創(chuàng)建

Person

類的多個(gè)實(shí)例對(duì)象時(shí),以下關(guān)于屬性和方法的描述正確的是:()A.每個(gè)實(shí)例對(duì)象都有獨(dú)立的屬性和共享的方法B.屬性和方法都是每個(gè)實(shí)例對(duì)象獨(dú)立擁有的C.屬性是共享的,方法是每個(gè)實(shí)例對(duì)象獨(dú)立的D.屬性和方法都是共享的17、在Python中,關(guān)于函數(shù)的默認(rèn)參數(shù)。假設(shè)定義了一個(gè)函數(shù)

func(a,b=5)

,以下對(duì)于默認(rèn)參數(shù)的理解,哪個(gè)是正確的?()A.每次調(diào)用函數(shù)時(shí),如果不傳遞

b

的值,

b

都會(huì)被初始化為5B.只有第一次調(diào)用函數(shù)時(shí),如果不傳遞

b

的值,

b

會(huì)被初始化為5,后續(xù)調(diào)用會(huì)使用上次調(diào)用設(shè)置的值C.默認(rèn)參數(shù)的值不能被修改D.可以通過(guò)在函數(shù)內(nèi)部重新賦值來(lái)修改默認(rèn)參數(shù)的值18、Python中的

pickle

模塊用于序列化和反序列化對(duì)象。假設(shè)定義了一個(gè)自定義類

MyClass

的對(duì)象

obj

,以下對(duì)于

pickle

的使用,哪個(gè)是正確的?()A.可以直接使用

pickle.dump(obj,file)

將對(duì)象保存到文件,然后使用

pickle.load(file)

讀取并還原對(duì)象B.

pickle

只能用于序列化和反序列化內(nèi)置數(shù)據(jù)類型,不能用于自定義類對(duì)象C.序列化和反序列化時(shí),對(duì)象的類定義必須在同一個(gè)腳本中D.反序列化時(shí)會(huì)自動(dòng)創(chuàng)建新的對(duì)象,與原始對(duì)象沒有關(guān)聯(lián)19、在Python中,當(dāng)我們需要處理大量的數(shù)據(jù)并進(jìn)行頻繁的插入和刪除操作時(shí),以下哪種數(shù)據(jù)結(jié)構(gòu)可能不是最優(yōu)選擇?假設(shè)數(shù)據(jù)的規(guī)模較大且操作頻繁。A.列表(List)B.集合(Set)C.字典(Dictionary)D.數(shù)組(Array)20、在Python中,以下關(guān)于迭代器(Iterator)的描述,正確的是:()A.所有的可迭代對(duì)象都是迭代器B.迭代器可以通過(guò)索引訪問(wèn)元素C.可以使用iter函數(shù)將一個(gè)可迭代對(duì)象轉(zhuǎn)換為迭代器D.迭代器一旦遍歷完畢,就不能再次使用二、判斷題(本大題共15小題,每小題2分,共30分.有多個(gè)選項(xiàng)是符合題目要求的.)1、Python中的列表可以使用“getitem”方法獲取元素。()2、在Python中,類的私有方法可以在類外被調(diào)用。()3、Python中的列表可以使用“sort”方法進(jìn)行降序排序。()4、Python中的集合可以使用“count”方法統(tǒng)計(jì)元素個(gè)數(shù)。()5、Python中的字典可以使用“keys”方法獲取所有的鍵并返回一個(gè)列表。()6、Python中的文件可以使用“seek”方法移動(dòng)位置。()7、Python中的循環(huán)語(yǔ)句只有for和while兩種。()8、Python中的生成器可以使用“send”方法發(fā)送值。()9、Python中的列表可以使用extend方法合并另一個(gè)列表。()10、在Python中,字典可以使用“update”方法合并兩個(gè)字典。()11、在Python中,“for”循環(huán)可以遍歷一個(gè)字符串。()12、Python中的集合可以使用“union”方法求并集。()13、Python中的循環(huán)可以使用“goto”語(yǔ)句來(lái)控制。()14、在Python中,“while”循環(huán)可以使用“continue”語(yǔ)句跳過(guò)本次循環(huán)。()15、在Python中,函數(shù)的參數(shù)可以使用關(guān)鍵字參數(shù)傳遞。()三、編程題(本大題共6個(gè)小題,共30分)1、(本題5分)設(shè)計(jì)一個(gè)Python程序,模擬一個(gè)簡(jiǎn)單的旅游行程規(guī)劃系統(tǒng)??梢蕴砑泳包c(diǎn)、安排行程、計(jì)算行程費(fèi)用。2、(本題5分)設(shè)計(jì)一個(gè)函數(shù),判斷一個(gè)字符串是否為有效的IPv4地址。3、(本題5分)用戶輸入一個(gè)正整數(shù)n,編寫一個(gè)Python程序打印出一個(gè)n行的等腰直角三角形圖案,使用“*”字符。例如,當(dāng)n=5時(shí),輸出:*

4、(本題5分)設(shè)計(jì)一個(gè)Python程序,用戶輸入一個(gè)年份,判斷該年份是否為閏年。閏年的判斷條件是:能被4整除但不能被100整除,或者能被400整除。程序輸出判斷結(jié)果以及相應(yīng)的解釋。5、(本題5分)創(chuàng)建一個(gè)Pyt

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論