P4-2023-9
您的姓名:
第 1 題 單選題
用枚舉算法求解“100以內(nèi)既能被3整除又能被4整除的元素”時(shí),在下列數(shù)值范圍內(nèi),算法執(zhí)行效率最高的是?( )
A.1~101
B.4~100
C.12~100
D.12~96
第 2 題 單選題
在自定義函數(shù)中,如果發(fā)現(xiàn)局部變量與全局變量同名,則?( )
A.程序會(huì)出現(xiàn)語(yǔ)法錯(cuò),不能運(yùn)行
B.程序可以運(yùn)行,局部變量與全局變量互不干擾
C.可能會(huì)出現(xiàn)局部變量修改全局變量的值的情況,需要檢查程序設(shè)計(jì)是否合理
D.不允許出現(xiàn)這種情況,應(yīng)該采用參數(shù)傳遞的方法去解決問題
第 3 題 單選題
在嵌套函數(shù)中,也就是一個(gè)函數(shù)里面還有一個(gè)函數(shù),如果內(nèi)部函數(shù)需要修改外部變量的值,處理的方法是?( )
A.只能通過(guò)不定長(zhǎng)參數(shù)傳遞來(lái)實(shí)現(xiàn)
B.使用local關(guān)鍵字
C.使用nonlocal關(guān)鍵字
D.使用global關(guān)鍵字
第 4 題 單選題
定義以下函數(shù):
def func(x,y,z=2):
print(x+y+z)
分別以func(1,2,3)和func(1,2)語(yǔ)句調(diào)用該函數(shù),運(yùn)行后的結(jié)果分別是?(?)
A.6;出錯(cuò)
B.5;出錯(cuò)
C.5;5
D.6;5
第 5 題 單選題
關(guān)于全局變量和局部變量,正確的描述是?( )
A.通俗來(lái)說(shuō),無(wú)縮進(jìn)的變量都是全局變量
B.函數(shù)體中,只能使用局部變量
C.Python程序中,全局變量與局部變量不允許重名
D.函數(shù)體中,只能通過(guò)實(shí)參傳遞的方式實(shí)現(xiàn)對(duì)全局變量數(shù)值的使用
第 6 題 單選題
關(guān)于函數(shù),正確的描述是?( )
A.規(guī)范的函數(shù)設(shè)計(jì)都應(yīng)該帶有返回值
B.函數(shù)體中,只要遇到break關(guān)鍵字,函數(shù)就結(jié)束
C.函數(shù)體中,只要遇到return關(guān)鍵字,函數(shù)就結(jié)束
D.函數(shù)的返回值只能是整型、浮點(diǎn)型、布爾型和字符串
第 7 題 單選題
下列代碼可以求兩個(gè)數(shù)的最小公倍數(shù)。請(qǐng)認(rèn)真閱讀下列代碼運(yùn)用了什么算法?( )
def lcm(s,m,n):
if s%n==0:
return s
else:
return lcm(s+m,m,n)
a=int(input('請(qǐng)輸入第1個(gè)數(shù):'))
b=int(input('請(qǐng)輸入第2個(gè)數(shù):'))
c=lcm(a,a,b)
print('{}和{}的最小公倍數(shù)是{}'.format(a,b,c))
A.枚舉
B.解析
C.遞歸
D.二分
第 8 題 單選題
小猴子第一天摘下若干桃子,當(dāng)即吃掉一半,又多吃一個(gè)。第二天早上又將剩下的桃子吃一半,又多吃一個(gè)。以后每天早上吃前一天剩下的一半另加一個(gè)。到第5天早上猴子想再吃時(shí),發(fā)現(xiàn)只剩下一個(gè)桃子了。問第一天猴子共摘多少個(gè)桃子?
這個(gè)問題可以用遞歸來(lái)解決,代碼如下:
def peach(day):
if day==1:
return 1
return (peach(day-1) + 1)*2
s=peach(5)
print('一共有%d只桃子'%(s))
請(qǐng)問第2行的“if day == 1”代碼起到的作用是?(?)
A.結(jié)束遞歸的邊界條件
B.開始遞歸的邊界條件
C.調(diào)用自身
D.遞歸過(guò)程中的變化
第 9 題 單選題
有一根繩子,第一次剪去一半多2米,第二次剪去剩下的一半多2米,第三次剪去剩下的一半多2米,第四次剪去剩下的一半多2米,第五次剪去剩下的一半多2米,此時(shí)繩子還剩2米。這根繩子長(zhǎng)幾米?想解決這個(gè)問題的話,可以采用以下哪種算法?( )
A.排序
B.遞推
C.解析
D.枚舉
第 10 題 單選題
用遞歸算法求1~n個(gè)連續(xù)自然數(shù)的乘積的代碼如下,請(qǐng)選擇合適的代碼補(bǔ)全程序?(?)
def Chengji(n):
if n <=1:
return 1
else:
return _____?______
print(Chengji(3))
A.n*Chengji(n)
B.n*Chengji(n-1)
C.n*Chengji(n+1)
D.n×Chengji(n-1)
第 11 題 單選題
一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?
可以用下列代碼解決這個(gè)問題,請(qǐng)問這段代碼是基于( )算法編寫的?
high=100
s=0
sum=0
for i in range(10):
s,high=high+high/2,high/2
sum=sum+s
sum=sum-high
print(sum)
print(high)
A.遞歸
B.枚舉
C.遞推
D.二分
第 12 題 單選題
用遞推算法求解n個(gè)自然數(shù)的乘積,請(qǐng)問代碼中橫線上需要填入的正確代碼是?( )
def fact(n):
s=1
for i in range(1,n+1):
s=s*i
return
a=fact(5)
print(a)
A.s
B.i
C.fact(n-1)
D.fact(n)
第 13 題 單選題
兩位同學(xué)玩猜數(shù)字游戲,規(guī)則如下:一方在心里默想一個(gè)范圍在1-100之間的數(shù),如果另一方猜的數(shù)字比對(duì)方想的要大,就說(shuō)大了;如果猜的數(shù)字比想的要小,就說(shuō)小了,直到猜中數(shù)字。那么使用二分查找法最多需要猜測(cè)的次數(shù)是?( )
A.10
B.8
C.7
D.6
第 14 題 單選題
下列哪項(xiàng)不是分治算法所具有的特征?( )
A.求解問題的規(guī)??s小到一定的程度就能夠容易地解決
B.求解題可以分解為若干個(gè)規(guī)模較小的不同問題
C.利用求解問題分解出的子問題的解可以合并為該問題的解
D.求解問題所分解出的各個(gè)子問題是相互獨(dú)立的
第 15 題 單選題
《閱微草堂筆記》里描述了槐樹果實(shí)“響豆”,在夜里爆響,這種豆一棵樹只有一粒,難以辨認(rèn)出。所以古人就等槐樹開花結(jié)果后,用許多布囊分別貯存豆莢,用來(lái)當(dāng)枕頭。夜里如果沒有聽到聲音,便扔掉。如果有爆響聲。然后把這一囊的豆莢又分成幾個(gè)小囊裝好,夜里再枕著聽……如此這么分下去直到找到響豆。以上故事體現(xiàn)的算法是?( )
A.順序查找
B.枚舉算法
C.解析算法
D.分治算法
第 16 題 單選題
在Python中導(dǎo)入第三方庫(kù)的主要關(guān)鍵字是?( )
A.from
B.import
C.pip
D.install
第 17 題 單選題
在Python中,以下哪個(gè)代碼是安裝numpy模塊的方法?( )
A.pip install numpy
B.pip uninstall numpy
C.install numpy
D.setup numpy
第 18 題 單選題
執(zhí)行如下Python程序,運(yùn)行的結(jié)果是?(?)
def zfzh(s):
c = ''
for ch in s:
if "9">=ch>= "0":
c+=str(int(ch)+1)
elif "z">=ch>= "a":
c+= chr(ord(ch)- ord("a")+ord("A"))
return c
s = 'hzag-21-8'
print(zfzh(s))
A.HZAG329
B.923HZAG
C.GAZH329
D.923GAZH
第 19 題 單選題
編寫計(jì)算正方體體積的匿名函數(shù),下列哪一個(gè)語(yǔ)句是正確的?( )
A.rst = lambda a : a * 3
B.lambda a : a * 3
C.rst = lambda a : a ** 3
D.lambda a : a ** 3
第 20 題 單選題
有如下Python程序,輸出的結(jié)果是?( )
def whao(year = '2023'):
print('你好' + year)
whao()
A.你好
B.你好2023
C.你好year
D.沒有輸出
第 21 題 單選題
執(zhí)行如下Python代碼,輸出結(jié)果是?( )
def hs(num):
num += 1
return num
n=10
s=hs(n)
print(s)
A.11
B.10
C.1
D.運(yùn)行錯(cuò)誤
第 22 題 單選題
執(zhí)行如下Python代碼的結(jié)果是?( )
def area(r,pi=3.14):
return r*r*pi
print(area(2,10))
A.40
B.200
C.400
D.20
第 23 題 單選題
下列哪個(gè)語(yǔ)句能夠定義參數(shù)個(gè)數(shù)不確定的函數(shù)?( )
A.hs(parameters)
B.hs(parameters[])
C.hs(parameters{})
D.hs(*parameters)
第 24 題 單選題
下列有關(guān)函數(shù)的描述中,正確的是?( )
A.函數(shù)中必須有return語(yǔ)句
B.在函數(shù)內(nèi)部不能使用全局變量
C.函數(shù)能提高應(yīng)用的模塊化程度和代碼的重復(fù)利用率
D.函數(shù)內(nèi)容以大括號(hào)起始,并且縮進(jìn)
第 25 題 單選題
考察以下函數(shù)定義代碼:
def func(x:int,y:str)->str:
z=x*y
return z
以下陳述正確的是?( )
A.Python是一種動(dòng)態(tài)類型語(yǔ)言,不強(qiáng)制要求指定參數(shù)類型,上述代碼行是不符合Python語(yǔ)法的
B.為提高程序的可靠性,Python函數(shù)定義時(shí)允許為形參指定數(shù)據(jù)類型,也允許為返回值指定類型
C.由于為函數(shù)指定了返回值類型,變量z一定要做類型轉(zhuǎn)換后,才能用于上述return語(yǔ)句中
D.由于為形參指定了不同的數(shù)據(jù)類型,變量x和y也需要先做類型轉(zhuǎn)換后才能進(jìn)行上述運(yùn)算
第 26 題 判斷題
函數(shù)是將實(shí)現(xiàn)相同功能的代碼封裝在一起,實(shí)現(xiàn)代碼復(fù)用。( )
A.正確
B.錯(cuò)誤
第 27 題 判斷題
通過(guò)把某些特定功能語(yǔ)句設(shè)計(jì)成自定義函數(shù),可以簡(jiǎn)化主程序的編寫。( )
A.正確
B.錯(cuò)誤
第 28 題 判斷題
Python程序中,自定義函數(shù)可以放在整個(gè)程序的開頭,也可以放在主程序之后,比較自由。( )
A.正確
B.錯(cuò)誤
第 29 題 判斷題
遞歸算法中,必然存在函數(shù)體內(nèi)調(diào)用自身的情況,可以在最后調(diào)用,也可以在中間調(diào)用。( )
A.正確
B.錯(cuò)誤
第 30 題 判斷題
遞歸算法不涉及高深的數(shù)學(xué)知識(shí),使得很多比較復(fù)雜的問題,也可以用簡(jiǎn)潔的代碼解決,代碼的執(zhí)行效率比較高,所以即使有其他算法可行,也應(yīng)該首選遞歸算法解決問題。( )
A.正確
B.錯(cuò)誤
第 31 題 判斷題
二分查找又稱對(duì)折半查找,例如:在數(shù)列34、17、25、9、10、3中查找3,適合采用二分查找法。( )
A.正確
B.錯(cuò)誤
第 32 題 判斷題
命令pip download <第三方庫(kù)>表示下載并安裝指定的第三方庫(kù)。( )
A.正確
B.錯(cuò)誤
第 33 題 判斷題
函數(shù)的定義代碼不需要在主程序調(diào)用函數(shù)之前。( )
A.正確
B.錯(cuò)誤
第 34 題 判斷題
關(guān)鍵字實(shí)參通過(guò)“關(guān)鍵字=值”的方式傳值,函數(shù)參數(shù)全部采用此方式傳值時(shí),不需要考慮函數(shù)調(diào)用過(guò)程中形參的順序。( )
A.正確
B.錯(cuò)誤
第 35 題 判斷題
下面代碼的時(shí)間復(fù)雜度為O(n*n)。(?)
arr = [ 2, 3, 4, 10, 40 ]
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
A.正確
B.錯(cuò)誤
關(guān)閉
更多問卷
復(fù)制此問卷