(完整版)python考試復習題庫_第1頁
(完整版)python考試復習題庫_第2頁
(完整版)python考試復習題庫_第3頁
(完整版)python考試復習題庫_第4頁
(完整版)python考試復習題庫_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(完整版)python考試復習題庫一、選擇題1.在Python中,下面代碼的運行結果是()x=365g=x%10#%為求余的意思s=x//10%10#//為整除的意思b=x//100sum=g*100+s*10+b#sum英文是求和的意思print(sum)A.365 B.14 C.563 D.412.在VB中,下列與表達式Len("python")+20的值相等的是()A.Int(Rnd*26)+1 B.Val("20")+16mod9C.Mid("Hello2019",6,2)+"6" D.abs(Sqr(16)–30)3.在Python中常用的輸入輸出語句分別是()A.input()output() B.input()print()C.input()printf() D.scandf()printf()4.小林同學想要利用Python來編寫一道程序,解決“1+2+3+……+100”這個問題,那么小林同學在編寫程序的過程中可能會用到哪些語句()A.賦值語句B.循環語句C.條件語句D.輸出語句5.以下Python代碼輸出結果中說法正確的是()。x=0foriinrange(1,100):x=x+iprint(x)A.1+100的和 B.1+99的和C.1~99所有整數的和 D.1~100所有整數的和6.隊列在Python中,用()實現隊列的創建,隊列的基本操作:()()()()線性數據結構又稱線性表。A.隨機;入隊;出隊;求隊長;判隊空 B.列表;入隊;出隊;求隊長;判隊空C.列表;隨機;出隊;求隊長;判隊空 D.入隊;隨機;列表;求隊長;判隊空7.下面哪個不是Python合法的標識符()A.int_3 B.30XL C.self D._abc8.在python中,語句print(a,b)的意思是()A.打印a,b B.輸出(a,b) C.輸出a,b D.輸出a,b的值9.運行下列Python程序,輸出結果為0,則空白處應為()a=14b=7c=_______print(c)A.a-b B.a+b C.a/b D.a%b10.下列不被python所支持的數據類型是()A.char B.float C.int D.list11.下列可以導入Python模塊的語句是()A.importmoduleB.inputmoduleC.printmoduleD.defmodule12.在python中,想輸出一行文字,要用到的函數是()。A.input() B.int() C.print() D.float()13.已知列表list1=[10,66,27,33,23],則python表達式max(list1)的值為()A.10 B.66 C.5 D.2314.下列選項中,不屬于Python語言基本數據類型的是()A.strB.intC.floatD.char15.已知a=6,b=-4,則Python表達式a/2+b%2*3的值為()A.3 B.3.0 C.5 D.5.0二、程序填空16.某倉庫物品代碼格式為“X-XXXXXXX-Y”,其中“X”和“Y”均為0到9之間的數字,“Y”為校驗碼。校驗碼由前面9個X計算得到,計算方法為:從左邊開始,第1個數字乘以1加上第2個數字乘以2……依次類推,直到加上第9個數字乘以9,將該結果除以10,所得余數即為校驗碼。用Python設計一個程序,輸入物品代碼,判斷輸入的代碼中校驗碼是否正確,如果正確輸出“正確”,否則輸出“錯誤"。運行樣例如下所示:樣例1:輸入:2-163-91475-4輸出:正確樣例2:輸入:2-163-91475-5輸出:錯誤(1)Python程序實現如下,請在劃線處填入正確的代碼:s=input("輸入物品代碼:")a=[]foriinrange(0,13):if___a.append(int(s[i]))#append()函數用于在列表末尾添加新的對象sum=0foriinrange(0,9):____sdm=sum%10___ifsdm==ydm:print("正確")else:print("錯誤")17.若兩個素數之差為2,則該對素數稱為雙胞胎數,如3,5就是一對雙胞胎數。編寫python程序,實現如下功能:輸入n的值,統計顯示n以內的所有雙胞胎數。程序運行界面如圖所示:實現上述功能的程序如下,請在劃線處填入合適的代碼。defisprime(x):foriinrange(2,x):if①__________:returnFalsereturnTruen=int(input(“請輸入一個正整數n:”))c=0k=3whilek<=n-2:ifisprime(k)and②___________:print(k,k+2)③___________k=k+1print(“共有”+str(c)+“對雙胞胎數”)18.學校開展“奇妙的數字”研究性學習活動。張軒小組4人決定把課題定為《探秘水仙花數》。(1)張軒使用百度搜索引擎搜索到“水仙花數”是這樣定義的:“水仙花數”是指一個三位數,它的各位數字的立方和等于其本身,比如:153=13+53+33,那么這個數就是一個“水仙花數”。百度屬于____搜索引擎(全文,分類)(2)為了求解100--999這些數字中,哪些數字是“水仙花數”?張軒小組進行了算法設計,并使用python編寫了一段程序來求解所有的“水仙花數”,程序和運行結果下圖:k是可以重新賦值的,k是變量還是常量?____程序中①處有空缺,請補充完整①處的代碼。____程序中逐一驗證了100到999之間所有的三位數是否符合“水仙花數”的定義條件,這種算法叫做______(解析法,枚舉法,遞歸法,二分法)。(3)在研究成果展示環節,張軒小組可以使用什么軟件制作《探秘水仙花數》的研究成果報告?(_____)19.(項目情境)遞歸就是自己調用自己,它是設計和描述算法的一種有力工具,常常用來解決比較復雜的問題。為求解規模為N的問題,設法將它分解成規模較小的問題,從小問題的解容易構造出大問題的解,并且這些規模問題較小的問題也能采用同樣的分解方法,分解成規模更小的問題,并能從這些更小問題的解構造出規模較大問題的解。一般情況下,規模N=1時,問題的解是已知的。已知:從1到n的連續自然數相乘的積、叫做階乘、用符號n!表示。如5!=1×2×3×4×5,規定0!=1。我們用遞歸算法可以較容易求n的階乘。求n的階乘算法可以描述如下:n!=n*(n-1)!(n-1)!=(n-1)*(n-2)!(n-2)!=(n-2)*(n-3)!2!=2*1!1!=0!0!=1如果把n!寫成函數形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的過程可以寫成如下形式:f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f(2)f(2)=2*f(1)f(1)=1(問題求解)在python中用遞歸算法求1!+2!+……+n!(n的值為整數,從鍵盤輸入)。請閱讀如下程序,在空白處填寫適當的表達式或語句,使程序完整。deff(n):ifn==0:return1else:return_________s=0n=int(input("請輸入n:"))foriin_______:s=________print(s)20.某字符轉置算法描述如下:將字符串(均為大寫字符)s依次轉換為相對應的數值(字符A~Z對應數值1~26);·轉換后的數值以K個數據為一段,將n個待處理的數據依次分割成若干段(最后一段不足部分用0來補充);每一段中K個數據與K*K轉置矩陣進行乘法運算;將乘法運算得到的每一個結果值除以26求余數,依次轉換成相應字符(數值1~26對應字符A~Z),最后按原始字符串長度輸出。乘法運算規則如下:第i個元素c(i)=第j個元素a(j)*轉置矩陣第j行第i個元素b(t)的乘積之和(其中j=1,2…K)例如:字符串s=PYTHON,區塊大小K=4,的轉置過程如下:(1)根據算法描述,上述示例中,字符“N”的相乘結果(即圖中(★)處)為________。(2)請在劃線處填入合適代碼。PrivateSubCommandl_Click()Dima(1To100)AsInteger′存儲字符串,長度不超過100個字符Dimb(1To100)AsInteger存儲轉置矩陣,長度不超過10*10Dimc(1To100)AsLongDimsAsString,tmpAsStringDimkAsInteger,tAsInteger,iAsInteger,jAsIntegerDimnAsInteger,mAsInteger,lensAsIntegers=Textl.Text′在Textl中輸入原始字符串k=Val(Text2.Text)′在Text2中輸入區塊大小KRandomizeFori=1Tok^2b(i)=Int(Rnd*9)+1tmp=tmp十Str(b(i))IfiModk=0ThenList2.AddItemtmptmp="".EndIfNextilens=Len(s):n=lensFori=1Tontmp=Mid(s,i,1)①__________Listl.AddItemStr(a(i))NextiDoWhilenModk<>0n=n十1a(n)=0Listl.AddItemStr(a(n))LoopFori=1Tonm=(i―1)Modk+1t=1Forj=②__________c(i)=a(j)*b((m-1)*k+t)+c(i)t=t+1NextjNextiFori=1TonList3.AddItemStr(c(i))Nextis=″″Fori=1Tolens③__________s=s+Chr(t+64)}NextiText3.Text=s′在Text3中輸出轉置后的字符串EndSub21.調試程序。請閱讀以下程序并寫出運行結果。#ex16.pyi=0sum=0whilei<10:ifi%3==0:sum+=iprint(i)i=i+1print('sum',sum)_________【參考答案】***試卷處理標記,請不要刪除一、選擇題1.C【詳解】本題主要考查Python基本運算。%為求余,//為整除,程序實現了提取了變量x各位上的數值,然后倒置形成新數,因此C選項正確。【點睛】解析:C【詳解】本題主要考查Python基本運算。%為求余,//為整除,程序實現了提取了變量x各位上的數值,然后倒置形成新數,因此C選項正確。【點睛】2.D【詳解】本題考查的知識點是VB基本函數的應用。Len()函數功能是求字符串長度,返回數值型數據,所以Len("python")+20值為26。A選項:Rnd是產生0到1之間的隨機數,不包括1,解析:D【詳解】本題考查的知識點是VB基本函數的應用。Len()函數功能是求字符串長度,返回數值型數據,所以Len("python")+20值為26。A選項:Rnd是產生0到1之間的隨機數,不包括1,Int()函數功能是向下取整,所以Int(Rnd*26)+1結果是一個0到26的隨機數,不一定為26。A選項錯誤;B選項:Val()函數功能是講字符串數據轉換為數值型,mod是取余運算,所以Val("20")+16mod9值為27。B選項錯誤;C選項:Mid()函數功能是截取字符串,Mid("Hello2019",6,2)+"6"結果是字符串類型數據。C選項錯誤;D選項:Sqr()是求平方根函數,abs()是求絕對值函數,所以abs(Sqr(16)–30)值為26。故正確答案為D選項。3.B【詳解】本題考查的知識點是python的函數。Python中常用的輸入輸出語句分別是input()print(),故選項B正確。解析:B【詳解】本題考查的知識點是python的函數。Python中常用的輸入輸出語句分別是input()print(),故選項B正確。4.ABD【詳解】本題考查Python語句。初始值會涉及到賦值語句、從1加到100會用到循環語句、最后會輸出結果用到輸出語句。故本題選ABD解析:ABD【詳解】本題考查Python語句。初始值會涉及到賦值語句、從1加到100會用到循環語句、最后會輸出結果用到輸出語句。故本題選ABD5.C【詳解】本題考查的是Python代碼程序。本題的關鍵點是range()函數,其取到的區間數值為前閉后開,所以為1-99的整數。循環過程就是執行1-99所有整數的求和過程。故答案為C。解析:C【詳解】本題考查的是Python代碼程序。本題的關鍵點是range()函數,其取到的區間數值為前閉后開,所以為1-99的整數。循環過程就是執行1-99所有整數的求和過程。故答案為C。6.B【詳解】本題考查數據結構相關知識。在Python中,用列表實現隊列的創建,隊列的基本操作:入隊,出隊,求隊長,判隊空線性數據結構又稱線性表。因此B選項正確。【點睛】解析:B【詳解】本題考查數據結構相關知識。在Python中,用列表實現隊列的創建,隊列的基本操作:入隊,出隊,求隊長,判隊空線性數據結構又稱線性表。因此B選項正確。【點睛】7.B【詳解】本題主要考查Python變量的命名。變量的命名規則有:只能以字母或下劃線開頭,不能包含特殊符號,不能是關鍵字。故30XL不是Python合法的標識符,故本題選B選項。解析:B【詳解】本題主要考查Python變量的命名。變量的命名規則有:只能以字母或下劃線開頭,不能包含特殊符號,不能是關鍵字。故30XL不是Python合法的標識符,故本題選B選項。8.D【詳解】本題主要考查Python輸出函數。在python中,語句print(a,b)的意思是輸出a,b的值,故本題選D選項。解析:D【詳解】本題主要考查Python輸出函數。在python中,語句print(a,b)的意思是輸出a,b的值,故本題選D選項。9.D【詳解】本題考查Python程序執行輸出c=0。a-b=7,a+b=21,a/b=2,a%b=0。故本題選D選項解析:D【詳解】本題考查Python程序執行輸出c=0。a-b=7,a+b=21,a/b=2,a%b=0。故本題選D選項10.A【詳解】本題主要考查Python數據類型。Python沒有char類型,一個字符也是字符串,故本題選A選項。解析:A【詳解】本題主要考查Python數據類型。Python沒有char類型,一個字符也是字符串,故本題選A選項。11.A【詳解】本題主要考查Python模塊的導入。Python模塊導入的關鍵字是import,故本題選A選項。解析:A【詳解】本題主要考查Python模塊的導入。Python模塊導入的關鍵字是import,故本題選A選項。12.C【詳解】本題考查的是python基本函數相關知識。input函數接受一個標準輸入數據,返回為string類型,故選項A錯誤;int可以將一個指定進制的數字型字符串或者十進制數字轉化為整形,解析:C【詳解】本題考查的是python基本函數相關知識。input函數接受一個標準輸入數據,返回為string類型,故選項A錯誤;int可以將一個指定進制的數字型字符串或者十進制數字轉化為整形,故選項B錯誤;print是輸出函數,故選項C正確;float用于將整數和字符串轉換成浮點數,故選項D錯誤。13.B【詳解】本題主要考查Python表達式的運算。max返回序列最大值,列表list1=[10,66,27,33,23],則python表達式max(list1)的值為66,故本題選B選項。解析:B【詳解】本題主要考查Python表達式的運算。max返回序列最大值,列表list1=[10,66,27,33,23],則python表達式max(list1)的值為66,故本題選B選項。14.D【詳解】本題主要考查Python數據類型。python沒有char類型,一個字符也是字符串,故本題選D選項。解析:D【詳解】本題主要考查Python數據類型。python沒有char類型,一個字符也是字符串,故本題選D選項。15.B【詳解】本題主要考查Python表達式的運算。a=6,b=-4,a/2+b%2*3=6/2+(-4%2*3)=3.0+0=3.0,故本題選B選項。解析:B【詳解】本題主要考查Python表達式的運算。a=6,b=-4,a/2+b%2*3=6/2+(-4%2*3)=3.0+0=3.0,故本題選B選項。二、程序填空16."0"<=s[i]<="9"或s[i]in"0123456789”sum=sum+a[i]*(i+1)ydm=a[9]【詳解】本題主要考查Python程序執行與調試。①變量s保存商品倉庫物品代碼,若s[i]是數字則進入循環判斷,否則跳過,故此處判斷條件是"0"<=s[i]<="9"或s[i]in"0123456789”。②校驗碼由前面9個X計算得到,計算方法為:從左邊開始,第1個數字乘以1加上第2個數字乘以2……依次類推,直到加上第9個數字乘以9,用變量sum統計,故此處填sum=sum+a[i]*(i+1)。③變量sdm是計算得到的校驗碼,變量ydm是輸入的校驗碼,此處需要將校驗碼a[9]賦給變量ydm,故填ydm=a[9]。17.x%i==0或x//i==x/i或其他等價表達式isprime(k+2)或isprime(k+2)==Truec=c+1或c+=1【詳解】本題主要考查Python程序的執行與調試。①isprime(x)函數判斷x是不是素數,此處通過for循環判斷(用x依次除i,看能不能整除,i的范圍時從2~x),故填x%i==0或x//i==x/i。②此處判斷相差2的兩個數是不是素數,若是,則輸出這兩個數,故此處填isprime(k+2)或isprime(k+2)==True。③c用來統計雙胞胎數的對數,若滿足是雙胞胎數的條件,故此處填c=c+1或c+=1。18.全文變量k+1枚舉法Word/WPS/PowerPoint等【詳解】本題主要考查Python程序的執行與調試。①百度屬于全文搜索引擎,也是關鍵詞搜索。②變量可以反復賦值,故k是變量。③循環體執行完,k遞增,繼續找水仙花數,故此處填k+1。④逐一驗證了100到999之間所有的三位數是否符合,這種算法叫做枚舉法。⑤在研究成果展示環節,張軒小組可以使用Word/WPS/PowerPoint等軟件制作《探秘水仙花數》的研究成果報告。19.n*f(n-1)range(1,n+1)s+f(i)【詳解】本題主要考查Python程序的執行與調試。①此處是定義遞歸函數f(n),由題干,當n=0時,返回1,否則返回n*f(n

溫馨提示

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

評論

0/150

提交評論