資源簡介 第二章 算法與程序實現 單元測試一、選擇題1.以下是正確的字符串( )A.‘abc”ab” B.“abc”ab’ C.“abc”ab” D.“abc\”ab”2.有如下Python程序段:a=[[0 for i in range(3)]for j in range(3)]for i in range(3):for j in range(3):a[i][j]=i*5+j+1for i in range(1,3):for j in range(2):print(a[j][i],end=" ")程序段執行后,輸出的結果是( )A.2 3 7 8 B.7 12 8 13 C.2 7 3 8 D.6 7 11 123.有如下Python程序段:s="Python"ans=""for i in range(len(s)):c=s[i]if "a"<=c<="z":if i%2==0:c=chr((ord(c)–ord("a")–i)%26+ord("a"))else:c=c.upper( ) #x.upper( )將字符串x中的大寫字母轉換成小寫字母ans+=cprint(ans)執行該程序段后,輸出的內容是( )A.PYwHtN B.YrHkN C.PaTIOt D.PYrHkN4.下面關于用算法來解決問題的4個步驟,正確的順序為( )。①建立數學模型;②設計算法;③分析問題;④描述算法。A.①②③④ B.③②①④ C.①③②④ D.③①②④5.根據雨水的pH判斷酸雨情況的規則為:當pH小于4.7時為“重度酸雨”,當pH介于4.7~5.6時為“輕度酸雨”,當pH大于5.6時為“非酸雨”。其算法流程圖如下圖所示,則圖中①、②所在判斷框中的內容是( )A.①PH<4.7? ②PH≤5.6 B.①PH<4.7? ②PH<5.6 C.①PH<4.7? ②PH>5.6 D.①PH≥4.7? ②PH≤5.6 6.下列不屬于基本數據類型的是( )A.整型 B.浮點型 C.復數類型 D.字符串7.某算法的部分流程圖如圖所示,執行這部分流程,下列說法正確的是 ( )A.s 輸出的值為 16B.循環結束時 k 的值為 1C.最后輸出時 a 的值為 16D.循環結束時,判斷條件 a<32 一共執行 6 次8.用人們日常生活中使用的語言描述算法,這種算法描述方法是( )A.自然語言 B.機器語言 C.匯編語言 D.高級語言9.下列關于Python運算符的使用描述正確的是( )A.a*=b,等同于a=a*b B.a//=b,等同于a=a/bC.a=+b,等同于a=a+b D.a**b,等同于b**a10.python文件的擴展名是( )A.py B.pye C.vbp D.pyr11.表達式 4**2==8 or int(6.22)==round(6.22) and not 'WZ' in 'WenZhou'的計算結果為( )A.true B.True C.False D.fasle12.下列選項中,可以作為Python程序變量名的是( )A.2a B.ab C.a+b D.for13.下列Python變量名正確的是( )A.False B.4num C.print D._Z_214.某算法的部分流程圖如圖所示。下列說法正確的是( )A.該流程執行后,變量s的值是 -1B.該流程執行后,變量k的值是10C.該流程完整執行1次,“s←s-k”共執行了4次D.該流程完整執行1次,“s≥0?”共執行了4次15.下列Python賦值語句中,無法正確運行的是( )A.a=b=c=5 B.a, b=c C.a+=b D.b=-c二、填空題16.表達式:3 in [1,2,3,4] 的值是 。17.閱讀程序段并回答問題。x=1a=xb=x+1上述程序執行后,變量a的值是 ,變量b的值是 。18.若列表f中依次存放著[2,3,7,9,6,4,1,5,4,1,6,8]這12個整數,以下程序代碼的運行結果是 。s=0f=[2,3,7,9,6,4,1,5,4,1,6,8]For i in range(12): if i%3==2:s=s+f[i]print(s)19.Python中賦值語句c+=a 等效于 。20.Python 計算:(1)Python 表達式4.5/2的值為 。(2)Python表達式4.5//2的值為 。(3)Python 表達式4.5%2的值為 。(4)Python 表達式5%2的值為 。(5)Python 表達式12/4-2+5*8/4%5/2的值為 。三、判斷題21.編寫程序的任務就是用一種計算機程序設計語言來描述問題求解的算法。( )22.關鍵詞不能作為Python的變量名。( )23.算法的三種基本控制結構是分支結構、循環結構和模塊結構。( )24.選擇結構中,無論條件是否成立,都可以同時執行兩個步驟。( )25.在流程圖中,表示輸入輸出功能。( )四、操作題26.操作要求:打開程序文件“計算圓的周長.py”,刪除序號①、②、③并填寫正確的代碼實現題目所述功能,調試完成后保存程序文件并關閉應用軟件。該程序的功能是:輸入一個圓的半徑r的值,輸出圓的周長C。(公式為:C=2πr,π=3.14)素材文件:27.某手機 APP 程序為了增加程序熱度,采用“簽到換積分得獎品”的形式來吸引用戶使用。簽到積分的規則為:第1天簽到得1分,第2天簽到得2分,第3天簽到得3分,…第7天及7天以上簽到得7分;一旦中途漏簽,簽到積分從1分開始計算。如下圖所示,簽到獲得的總積分為14分。現利用“0”、“1”記錄簽到情況,其中“1”表示正常簽到,“0”表示斷簽,輸出獲得的總積分數。例如,上圖輸入可以表示為“101111011”,輸出結果為 14 分。實現上述功能的程序如下,請回答下列問題:(1)若簽到記錄為“100111110111”,則獲得的總積分為 。(2)根據題意和程序,本題主要使用的算法控制結構為 。(單選,填字母)A.順序結構 B.分支結構 C.循環結構(3)為實現上述功能,請在劃線處填入合適的代碼。s=input("輸入簽到情況:")x=0c=1for i in range(len(s)): if s[i]=="0": elif : x=x+c c=c+1 else: x=x+7print(x)五、簡答題28.什么是常量,什么是變量?常量和變量的特點是什么?29.read、readline和readlines之間的區別?30.判斷輸入的一個整數能否同時被3和7整除,若能,則輸出“Yes”;否則輸出“No”。31.編寫程序。一輛動車即將穿越隧道,已知隧道全長a米,動車車長為300米,動車的速度為b米/秒。請編寫一個程序,根據用戶輸入的數值,計算并輸出動車完全通過隧道需要花費的時間。要求:屏幕提示用戶輸入隧道長度和動車的行駛速度(輸入時大于0 的浮點數),輸出火車完全通過隧道需要花費的時間。 提示:時間=(隧道長度+動車長度) 動車速度,單位為秒。參考答案1.D【詳解】本題主要考查字符串。字符串的引號‘ ‘、“ ”,必須是成對出現,ABC不行,D選項中間“被\轉義了,故本題選D選項。2.C【詳解】本題主要考查Python程序的執行。第一句執行完,列表a的值為[[0, 0, 0], [0, 0, 0], [0, 0, 0]];第一個嵌套for循環執行完,列表a的值為[[1, 2, 3], [6, 7, 8], [11, 12, 13]];第二個嵌套for循環執行完依次輸出2 7 3 8,故本題選C選項。3.D【詳解】本題主要考查Python程序的執行。分析程序可知,變量c依次取s中的字符,如果c是小寫字母,則判斷i的奇偶性,如果i是偶數,則執行c=chr((ord(c)–ord("a")–i)%26+ord("a")),即將該小寫字母循環向前移i位,即“t”變為“r”,“o”變為“k”,如果i是奇數,則將小寫字母變為大寫字母。若c是其他字符,則保持不變,故執行該程序段后,輸出的內容是PyrHkN,故本題選D選項。4.D【詳解】本題主要考查算法解決問題步驟。用算法解決問題步驟一般為③分析問題;①建立數學模型;②設計算法;④描述算法。因此D選項正確。【點睛】5.A【詳解】本題主要考查算法流程圖。當pH小于4.7時為“重度酸雨”,當pH介于4.7~5.6時為“輕度酸雨”,當pH大于5.6時為“非酸雨”,可知①、②所在判斷框中的內容是①PH<4.7? ②PH≤5.6 ,故本題選A選項。6.C【詳解】本題主要考查Python數據類型。整型、浮點型、字符串、布爾類型等均屬于基本數據類型,復數類型不屬于基本數據類型,故本題選D選項。7.D【詳解】本題主要考查算法流程圖。s=1,k=1,a=1,第一遍循環,滿足a<32,s=s+k*a=2,k=1-k=0,a=2*a=2;第二遍循環,滿足a<32,s=s+k*a=2,k=1-k=1,a=2*a=4;第三遍循環,滿足a<32,s=s+k*a=6,k=1-k=0,a=2*a=8;第四遍循環,滿足a<32,s=s+k*a=6,k=1-k=1,a=2*a=16;第五遍循環,滿足a<32,s=s+k*a=22,k=1-k=0,a=2*a=32;第六遍循環,不滿足a<32,退出循環,故執行這部分流程,s輸出的值為22,循環結束時 k 的值為 1,最后輸出時 a 的值為 32,循環結束時,判斷條件 a<32 一共執行 6 次,故本題選D選項。8.A【詳解】本題考查的是算法的描述。用自然語言描述算法,就是用人們日常所用的語言,如漢語、英語等來描述算法。故本題應選A。9.A【詳解】本題主要考查Python運算符。a*=b,等同于a=a*b;a//=b,等同于a=a//b;“**”是冪運算,a**b,不等同于b**a,故本題選A選項。10.A【詳解】本題主要考查Python文件。python文件的擴展名是py,故本題選A選項。11.B【詳解】本題主要考查Python表達式的運算。邏輯運算符or兩邊值均為假時值才為假,否則值為真;邏輯運算符and兩邊值均為真時值才為真,否則值為假,not是取反。4**2=16,則表達式4**2==8值為False;int(6.22)=6,round(6.22)=6,故表達式int(6.22)==round(6.22) 值為True;表達式'WZ' in 'WenZhou'值為False,則表達式not 'WZ' in 'WenZhou'值為True,故表達式 4**2==8 or int(6.22)==round(6.22) and not 'WZ' in 'WenZhou'的計算結果為值為True,故本題選B選項。12.B【詳解】本題主要考查Python變量的命名。變量名可以包括字母、數字、下劃線,但是數字不能作為開頭,系統關鍵字不能做變量名使用,除了下劃線之外,其它符號不能作為變量名使用。結合選項,可以作為Python程序變量名的是ab,故本題選B選項。13.D【詳解】本題主要考查Python變量的命名。變量的命名規則有:只能以字母或下劃線開頭,不能包含特殊符號,不能是關鍵字。變量名正確的是_Z_2,故本題選D選項。14.C【詳解】本題主要考查算法流程圖的執行。s=10,k=1,第一次循環,滿足s>=0,s=s-k=9,k=k*2=2;第二次循環,滿足s>=0,s=s-k=7,k=k*2=4;第三次循環,滿足s>=0,s=s-k=3,k=k*2=8;第四次循環,滿足s>=0,s=s-k=-5,k=k*2=16;第五次循環,不滿足s>=0,故該流程執行后,變量s的值是 -5,變量k的值是16,該流程完整執行1次,“s←s-k”共執行了4次,“s≥0?”共執行了5次,故本題選C選項。15.B【詳解】本題主要考查Python賦值語句。Python賦值語句是將等號右邊的表達式賦值給等號左邊的變量,故無法正確運行的是a, b=c,故本題選B選項。16.True【詳解】本題主要考查表達式的運算。有in成員運算符,結果只能是True 或 False,3在列表 [1,2,3,4]中,故表達式的值為True。17.1 2【詳解】本題主要考查程序語句。①x=1,a=x=1。②b=x+1=1+1=2。18.23【詳解】本題主要考查Python程序的執行。分析程序可知,首先統計列表f中滿足整除3余2的數i,滿足的數有2、5、8、11,其次執行s=s+f[i]=0+7+4+4+8=23。19.c=c+a【詳解】本題主要考查Python賦值語句。Python中賦值語句c+=a 等效于c=c+a。20.2.25 2.0 0.5 1 1.0【詳解】本題主要考查Python表達式的運算。“/”是除運算,“//”是整除運算,“%”是取余運算,故①4.5/2=2.25,②4.5//2=2.0,③4.5%2=0.5,④5%2=1,⑤12/4-2+5*8/4%5/2=3.0-2+0.0=1.0。21.對【詳解】本題考查程序編寫編寫程序的任務就是用一種計算機程序設計語言來描述問題求解的算法。表述正確22.正確【詳解】本題主要考查Python變量的命名。變量的命名規則有:只能以字母或下劃線開頭,不能包含特殊符號,不能是關鍵字。故表述正確。23.錯誤【詳解】本題主要考查算法的基本結構。算法的三種基本結構是:順序結構、分支結構和循環結構,故表述錯誤。24.錯誤【詳解】本題考查的是算法結構。選擇結構中,根據條件來選擇執行的步驟。故題干中說法錯誤。25.錯誤【詳解】本題主要考查算法流程圖。菱形是條件判斷框,平行四邊形是數據輸入/輸出框,圓角矩形是開始/結束框,矩形是數據處理框,故表述錯誤。26.python操作題滿分卷示例:【詳解】本題主要考查Python程序。①圓的半徑可能是小數,是浮點型數據,故填float。②周長的公式是C=2πr,π=3.14,故此處填2*3.14*r。③變量C保存周長,故填C。具體代碼如下:27.22 C c=1 s[i]=="1" and c<=7【詳解】本題主要考查Python程序的綜合應用。①若簽到記錄為“100111110111”,則獲得的總積分為1+1+2+3+4+5+1+2+3=22。②根據題意和程序,本題主要使用的算法控制結構為循環結構。③如果s[i]=="0"則表示斷簽了,變量c表示每天簽到對應的積分數,一旦中途漏簽,簽到積分從1分開始計算,故填c=1。④根據代碼“x=x+c、c=c+1”可知此次處理正常簽到的情況下且連續簽到沒有超過7天,故填s[i]=="1" and c<=7。28.常量是指在程序運行過程中其值始終不發生變化的量,通常是固定的數值或字符串。變量是指在程序運行過程中其值可以發生變化的量。常量是固定值,變量可以多次賦值。【詳解】本題考查的是常量、變量。常量是指在程序運行過程中其值始終不發生變化的量,通常是固定的數值或字符串。變量是指在程序運行過程中其值可以發生變化的量。常量是固定值,變量可以多次賦值。29.read 讀取整個文件;readline 讀取下一行,使用生成器方法;readlines 讀取整個文件到一個迭代器以供我們遍歷。【詳解】本題主要考查Python文件讀取函數。read、readline和readlines之間的區別是:read 讀取整個文件;readline 讀取下一行,使用生成器方法;readlines 讀取整個文件到一個迭代器以供我們遍歷。30.n=int(input("請輸入一個整數:"))if n%3==0 and n%7==0: print("Yes")else:print("No")【詳解】本題主要考查if條件結構。判斷輸入的一個整數能否同時被3和7整除,可知if判斷條件應使用邏輯運算符and。31.a=float(input("請輸入隧道長度(米):"))b=float(input("請輸入動車速度(米/秒):"))if a>0 and b>0: c=(300+a)/bprint("火車完全通過隧道需要的時間為",c,"秒")【詳解】本題主要考查Python編程。a=float(input("請輸入隧道長度(米):"))與b=float(input("請輸入動車速度(米/秒):"))用于接收用戶輸入數據;根據實際要求,需要a>0 and b>0;c=(300+a)/b用于計算時間。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫