電子學(xué)會 python四級考試試題及答案_第1頁
電子學(xué)會 python四級考試試題及答案_第2頁
電子學(xué)會 python四級考試試題及答案_第3頁
電子學(xué)會 python四級考試試題及答案_第4頁
電子學(xué)會 python四級考試試題及答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電子學(xué)會python四級考試試題及答案1、對于數(shù)列3,8,11,15,17,9,25,30,44,采用“二分查找”法查找8,需要查找多少次?()A、5B、4C、3D、2(正確答案)答案解析:9個數(shù)字,

l=0,r=8,m=4,a[m]=17>8,r=m-1=3

l=0,r=3,m=1,a[m]=8

2次2、下面哪一項不是pip指令?A、pipinstallScipyB、pipuninstallJiebaC、pipclear(正確答案)D、piplist答案解析:pipinstall安裝包

pipuninstall卸載包

piplist看包列表3、有如下Python語句,執(zhí)行該語句后,結(jié)果是?

f=lambdax:5

print(f(3))A、3B、沒有輸出C、3(正確答案)D、None答案解析:試題解析:將參數(shù)3傳遞給匿名函數(shù)f,返回值為5,故選C3、有如下Python語句,執(zhí)行該語句后,結(jié)果是?

f=lambdax:5

print(f(3))A、3B、沒有輸出C、5(正確答案)D、None答案解析:函數(shù)名=lambda參數(shù):返回值

試題解析:將參數(shù)3傳遞給匿名函數(shù)f,返回值為5,故選C4、執(zhí)行如下Python代碼后,結(jié)果是?

definverse(s,n=0):

whiles:

n=n*10+s%10

s=s//10

returnn

print(inverse(456,123))A、654123B、123456C、123654(正確答案)D、654321答案解析:數(shù)字拆分

試題解析:調(diào)用函數(shù)inverse(456,123),將456逐位取出,并累加到123的后面,故選C5、下列有關(guān)循環(huán)和遞歸的描述正確的是?A、遞歸思想代碼清晰簡潔,可讀性強(正確答案)B、遞歸代碼中不能有循環(huán)結(jié)構(gòu)的語句C、遞歸是從問題的起點出發(fā),逐漸將復(fù)雜問題化為簡單問題,最終求得問題D、能用遞歸實現(xiàn)的,一定能用循環(huán)代碼實現(xiàn)6、以下有關(guān)Python函數(shù)的定義表述中錯誤的是?A、函數(shù)的定義必須在主程序調(diào)用語句之前出現(xiàn)(正確答案)B、在形參列表中必須先列出有默認(rèn)值的形參,再列出沒有默認(rèn)值的形參C、實參是實際占用內(nèi)存地址的,而形參不占用D、def關(guān)鍵字后面加函數(shù)名定義函數(shù),定義必須以冒號結(jié)尾標(biāo)準(zhǔn)答案:6、以下有關(guān)Python函數(shù)的定義表述中錯誤的是?A、函數(shù)的定義必須在主程序調(diào)用語句之前出現(xiàn)B、在形參列表中必須先列出有默認(rèn)值的形參,再列出沒有默認(rèn)值的形參(正確答案)C、實參是實際占用內(nèi)存地址的,而形參不占用D、def關(guān)鍵字后面加函數(shù)名定義函數(shù),定義必須以冒號結(jié)尾7、如下代碼運行后下面選項中描述錯誤的是?

defpph(a,b):

c=a**2+b

b=a

returnc

a=10

b=100

c=pph(a,b)+a

print(a,'',b,'',c)A、執(zhí)行該函數(shù)后,變量a的值為10B、執(zhí)行該函數(shù)后,變量b的值為100C、執(zhí)行該函數(shù)后,變量c的值為200(正確答案)D、該函數(shù)名稱為pph8、閱讀下列程序段,數(shù)列的第6項值為多少?

deffibona(x):

ifx==1orx==2:

f=1

foriinrange(3,x+1):

f=fibona(x-1)+fibona(x-2)

returnf

n=int(input("請輸入數(shù)列第幾項:"))

m=fibona(n)

print("數(shù)列的第"+str(n)+"項的值為"+str(m))A、1B、8(正確答案)C、21D、349、有如下Python的自定義函數(shù),執(zhí)行該程序后,結(jié)果是?

defcalc(x,y,op):

returneval(str(x)+op+str(y))

print(calc(3,5,'+'))

A、8(正確答案)B、35C、NoneD、-210、有如下Python程序,執(zhí)行該程序后,結(jié)果是?

x=3

defcalc():

x=5

print(calc())A、3B、5C、無輸出D、None(正確答案)11、應(yīng)用分治算法的前提是?A、問題的可分性和解的可歸并性(正確答案)B、問題的復(fù)雜性和解的簡單性C、問題的可分性和解的存在性D、問題的復(fù)雜性和解的可歸并性12、有一球從100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地前,反彈多高?用遞歸函數(shù)解決,下面選項正確的是?A、defheight(n):

ifn==1:

return100

else:

returnn*2B、(正確答案)defheight(n):

ifn==1:

return100

else:

returnheight(n-1)/2

print(height(10))C、defheight(n):

ifn==1:

return100

else:

returnheight(n+1)/2

print(height(10))D、defheight(n):

ifn==1:

return100

else:

returnheight(n-1)*2

print(height(10))13、有如下Python程序,執(zhí)行該程序后,結(jié)果是?

g=lambdax,y=3,z=5:x+y+z

print(g(2))A、2B、5C、7D、10(正確答案)14、以下程序輸出1~100之間能被7整除但不能同時被5整除的所有整數(shù)。根據(jù)下面哪個選項的方法優(yōu)化后,程序的運行效率最高?

k=1

whilek<101:

ifk%7==0andk%5!=0:

print(k)

k+=1A、將k=1改為k=7B、將k+=1改為k=1C、將k+=1改為k+=7D、將k=1改為k=7,同時將k+=1改為k+=7(正確答案)15、下列程序段的運行結(jié)果為?

deff(n):

ifn<=1:

return1

else:

returnf(n-1)*3

print(f(5))A、9B、27C、81(正確答案)D、243答案解析:試題解析:f(5)=f(4)*3=f(3)*3*3=f(2)*3*3*3=f(1)*3*3*3*3=1*81=8116、下列選項中,關(guān)于如何安裝第三方庫的說法正確的是?A、如果電腦沒有聯(lián)網(wǎng),仍然可以使用pip工具安裝本地的whl文件(正確答案)B、必須使用命令行工具安裝第三方庫C、第三方庫只要可以用pip完整的下載下來,就可以成功安裝D、安裝上Anaconda就安裝了所有的第三方庫答案解析:試題解析:可執(zhí)行文件不需要使用命令行工具就可以安裝。沒有編譯的第三方庫,即使能夠下載,也無法安裝。Anaconda里面包含了800多個第三方庫,但是不是全部的第三方庫。17、運行以下程序輸出的結(jié)果是?

y=2

deffun():

globaly

y=1

print(y)

fun()

print(y)A、21B、22C、12D、11(正確答案)18、下面哪種算法使用了分治的方法?A、插入排序B、快速排序(正確答案)C、選擇排序D、冒泡排序19、面關(guān)于遞歸函數(shù)說法正確的是?A、一般來說,遞歸函數(shù)的執(zhí)行效率高于非遞歸函數(shù)B、邊界條件和遞歸關(guān)系是遞歸函數(shù)編寫的關(guān)鍵(正確答案)C、遞歸函數(shù)的嵌套調(diào)用次數(shù)沒有限制D、遞歸函數(shù)不可以改寫為非遞歸函數(shù)20、觀察此題示例代碼,以下表述中錯誤的是?

nums=range(2,20)

foriinnums:

nums=list(filter(lambdax:x==iorx%i,nums))

print(nums)A、filter()函數(shù)輸出后是一個數(shù)組而不是列表B、示例代碼中的關(guān)鍵字lambda表示匿名函數(shù)C、lambdax:x==iorx%i,nums中冒號:之前的x是這個函數(shù)的參數(shù)D、匿名函數(shù)需要return來返回值,表達式本身結(jié)果就是返回值(正確答案)21、在一個平面中,有n個圓兩兩相交,但任二個圓不相切,任三個圓無公共點,以下函數(shù)能計算出n個圓把平面分成的區(qū)域個數(shù),空格處填寫的語句是?

defc(n):

ifn=1:

return2

else:

return______A、c(n-1)+2*(n-1)(正確答案)B、c(n-1)+c(n-2)C、c(n-1)+2*nD、c(n-1)+2*(n+1)答案解析:設(shè)這n個圓將平面分成an個區(qū)域。易知,a1=2,a2=4?,F(xiàn)在假設(shè)前n-1個圓將平面分成了an-1個區(qū)域,當(dāng)加入第n個圓(虛線圓)時,由題設(shè)這個圓與前面的n-1個圓一定交于2(n-1)個點,這2(n-1)個點把第n個圓分成2(n-1)條弧,而每條弧正好將前面的n-1個圓分成的區(qū)域中的其經(jīng)過的每個區(qū)域分成2個區(qū)域,故新加入的第n個圓使所成的區(qū)域數(shù)增加了2(n-1)。因此可以建立如下帶初值的遞推關(guān)系:

an=an-1+2(n-1)

a1=222、有如下Python程序段,執(zhí)行該程序后,結(jié)果是?

deffun(*p):

returnsum(p)

print(fun(1,3,5))A、4B、6C、8D、9(正確答案)23、以下關(guān)于全局變量和局部變量的表述正確的是?A、如果再函數(shù)中定義的局部變量與全局變量同名,則全局變量屏蔽局部變量B、可以通過global關(guān)鍵字,通過全局變量修改局部變量C、nonlocal關(guān)鍵字用來再函數(shù)或局部作用域使用內(nèi)層(非全局)變量D、全局變量的作用域一定比局部變量的作用域大(正確答案)24、關(guān)于以下程序,下列表述中錯誤的一項是?

c=1

deffun(n):

a=1

forbinrange(1,n):

a*=b

returna

n=int(input('Entern='))

print(fun(n),c)A、c是全局變量,a是局部變量B、n是形式參數(shù),當(dāng)n=5時,程序輸出1201(正確答案)C、程序?qū)崿F(xiàn)求階乘D、range()函數(shù)時python內(nèi)置函數(shù)25、以下程序的運行結(jié)果是?

deff(x,y,z):

print(x,y,z)

f(z=3,x=2,y=1)A、321B、123C、213(正確答案)D、31226、所有的Python第三方庫均可以使用pip工具進行安裝。A、正確B、錯誤(正確答案)27、算法的時間復(fù)雜度與空間復(fù)雜度沒有必然關(guān)系。A、正確(正確答案)B、錯誤28、在創(chuàng)建自定義函數(shù)時,即使函數(shù)沒有參數(shù),也必須保留一對空的"()"。A、正確(正確答案)B、錯誤29、執(zhí)行以下代碼

deffun(mylist):

mylist.append([1,2,3,4])

print("函數(shù)內(nèi)取值:",mylist)

return

mylist=[5,6,7]

fun(mylist)

print("函數(shù)外取值:",mylist)

程序輸出的結(jié)果為:函數(shù)內(nèi)取值:[5,6,7,[1,2,3,4]]、函數(shù)外取值:[5,6,7,[1,2,3,4]]。

A、正確(正確答案)B、錯誤30、定義Python函數(shù)時,如果函數(shù)中沒有return語句,則該函數(shù)返回值是None。A、正確(正確答案)B、錯誤31、執(zhí)行以下代碼

sum=0

deffun(arg1,arg2):

sum=arg1+arg2

print(sum)

returnsum

fun(5,10)

print(sum)

程序輸出的結(jié)果為:1515A、正確B、錯誤(正確答案)32、對于一個復(fù)雜問題,如果所分解出的各個子問題之間相互不獨立,則不適合使用分治算法。A、正確(正確答案)B、錯誤33、執(zhí)行以下代碼,

deffun(name,age=30):

print("Name:",name)

print("Age:",age)

return

fun(age=40,name="summy")

fun(name="summy")

程序輸出的結(jié)果為:

Name:summyAge:40

Name:summy

Age:40。A.正確B.錯誤(正確答案)34、下列程序段運行后的結(jié)果是2。

defchange(a,b):

a,b=b,a

returna

a=2

b=3

print(change(change(a,b),a))A、正確(正確答案)B、錯誤35、對于斐波那契數(shù)列:1,1,2,3,5,……,我們只能采用迭代公式以遞推的方式求解。A、正確B、錯誤(正確答案)36.在編寫抽獎程序時,為了保證一個人只有一次中獎機會,要檢查新抽出來的數(shù)字是不是已經(jīng)被抽中過了。

一種辦法是將已經(jīng)中過獎的人員編號存放在test_list里面,然后每抽出一個新的人員編號,判斷它是否在中獎人員列表中。

如果沒有在中獎人員列表中,說明中獎號碼有效,并將它保存進中獎人員列表;如果已經(jīng)在里面了,就再生成一個新的人員編號。

請你補全下面的代碼,實現(xiàn)判斷一個數(shù)字是否在列表中的功能。

#子問題算法(子問題規(guī)模為1)

defis_in_list(init_list,num):

ifinit_list[0]==num:

returnTrue

else:

returnFalse

#分治法

deffind_out(init_list,num):

n=len(init_list)

if____①______#如果問題的規(guī)模等于1,直接解決

returnis_in_list(init_list,num)

#分解(子問題規(guī)模為n/2)

left_list,right_list=_________②____________

#遞歸,分治,合并

res=find_out(left_list,num)__③__find_out(right_list,num)

returnres

if__name__=="__main__":

#測試數(shù)據(jù)

test_list=[18,43,21,3,28,2,46,25,32,40,14,36]

#查找

print(_____④_____)

程序運行結(jié)果:

>>>True()答案解析:(1)n==1:或其他正確答案;(2分)

(2)init_list[:n//2],init_list[n//2:]或其他正確答案;(2分)

(3)or或其他正確答案;(2分)

(4)find_out(test_list,25)或其他正確答案。(2分)37.乘法運算等于多個加法運算的和。比如,3×2可以理解為3+3,也可以理解為2+2+2。

下面的程序使用遞歸算法演示了計算兩個自然數(shù)的乘積的過程。請你補全代碼。

輸入:分兩次輸入自然數(shù)num1,num2

輸出:num1×num2=乘積

defcheng_fa(num1,num2,value):

if____①____

value+=0

else:

value+=num1

____②____

value=cheng_fa(num1,num2,value)

return____③____

num1=int(input('輸入第1個數(shù):'))

num2=int(input('輸入第2個數(shù):'))

value=0

value=cheng_fa(num1,num2,value)

print('{}X{}={}'.format(num1,num2,value))

程序運行結(jié)果:

輸入第1個數(shù):3

輸入第2個數(shù):7

3X7=21()答案解析:試題解析:

參考答案:

(1)num1==0ornum2==0:或其他等效答案(3分)

(2)num2-=1或num2=num2-1或其他等效答案(4分)

(3)value(3分)

參考程序:

defcheng_fa(num1,num2,value):ifnum1==0ornum2==0:

value+=0

else:

value+=num1

num2-=1

value=cheng_fa(num1,num2,value)

returnvalue

num1=int(input('輸入第1個數(shù):'))

num2=int(input('輸入第2個數(shù):'))

value=0

value=cheng_fa(num1,num2,value)

print('{}X{}

溫馨提示

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

評論

0/150

提交評論