資源簡介 粵教版 高中信息技術 必修1 第四章單元測試作業學校:___________姓名:___________班級:___________考號:___________一、選擇題1.某超市用13位數字標識商品信息,其中8~12位是表示商品名的代碼,用字符串變量s存儲商品的信息碼(例如:s="9787100109796",商品名代碼是“10979”),下列Python表達式中能取出商品名代碼的是( )A.s[-6:-1] B.s[7:11] C.s[8:12] D.s[7:-2]2.某終端接上溫度傳感器,將溫度讀取到變量 a 中,代碼如下。while True: a=temperature() if a>33: display.show(Image.SAD) sleep(3000) else: display.show(Image.HAPPY)若溫度傳感器和主板的連接正常,燒錄并運行該代碼下列選項中正確的是( )A.熱風機加熱后,主板 LED 顯示“哭臉”圖形,3 秒后顯示“笑臉”圖形B.室溫低于33℃時,主板 LED不顯示任何圖形C.熱風機加熱后,主板 LED 顯示“笑臉”圖形,3 秒后顯示“哭臉”圖形D.室溫低于 33℃時,主板 LED 顯示“笑臉”3.下列表達式的值為奇數的是( )A.2**3%3 B.int(5.5)C.len("python") D.max([1,2,3,5,8])4.字符串s的值為 'the quick brown fox jumps over a lazy dog',則下列說法正確的是( )A.s[1]的值為't' B.s[-1:-4:-1]的值為'god'C.s[0:2]的值為'the' D.s[: :]的值為''5.現有一段代碼如下,現輸入“260”和“-123”,運行后輸出結果分別是( )x=input("請輸入數據")if x[0] =="-": fz=-int(x[:0:-1])else: fz=int(x[: :-1])print(fz)A.062 -32 B.062 -321 C.62 -32 D.62 -3216.有如下 VB 程序段:For i = 1 To Len(Text1.Text) c = Mid(Text1.Text, i, 1)If c >= "0" And c <= "9" Thenx = Val(c)a((x + 1) Mod 10) = a((x + 1) Mod 10) + 1End IfNext is = ""For i = 0 To 9s = s & a(i)Next iText2.Text = s數組元素 a(0) 到 a(9) 的值均為0,執行該程序段后,文本框Text2 顯示的內容為“1302000100”。則文本框 Text1 中輸入的內容可能是( )A.2020-6-09 B.2020-02-28 C.2020-6-01 D.2019-01-077.哥德巴赫猜想是近代三大數學難題之一,即任一大于2的偶數,都可表示成兩個素數之和。采用Python驗證100以內哥德巴赫猜想的正確性,則劃線處的代碼為:( )import mathdef isprime(num):i=2while i<=int (math.sqrt(num)):if num % i==0:return Falsei+=1return Truen=6while n<=100:for j in range(3,int (n/2)):if ____________________:print (n,'=',j, '+',n-j)n+=2A.isprime(j) and isprime(n-j) B.isprime (j) and isprime(j+1)C.isprime(n) and isprime(j) D.isprime(j) and isprime(j-1)8.有如下Python程序段:import randomnum=[]for i in range(0,6):n=random.randint(1,10)num.append(n)for i in range(1,6):if i%2==1 and num[i]>num[i-1] :num[i],num[i-1]=num[i-1],num[i]else:num[i]=num[i]-1print(num)運行后列表中的值可能是( )A.11,1,7,5,4,3 B.5,3,6,4,0,2 C.4,1,7,4,4,0 D.9,8,1,1,5,49.有如下Python程序段:s1=input("請輸入字符串:")a=[0]*128for item in s1:ch=ord(item)a[ch]=a[ch]+1s2=""for i in range(len(a)):for j in range(a[i]):s2=s2+chr(i)print(s2)列表a各元素的初始值都為0,s1中輸入的內容為“abs54int”。執行該程序后,程序輸出的結果中第5個字符為( )A.n B.s C.4 D.i10.在Python中,a=2,b=5,表達式a>b and b>4的值是( )A.1 B.-1 C.True D.False11.某張單據上有一個5位數的編號n,如圖所示,其百位數和十位數模糊不清,但是知道 這個5位數是23的倍數。現要設計一個算法,找出所有滿足這些條件的5位數,并統計個數。現有Python程序段如下:c=0for i in range(10):for j in range(10):m=25006+sif m%23==0:print(m)c=c+1print(“滿足這些條件的5位數總共有:”,c,“個” )畫線處應填的代碼是( )A.s=i*10+j B.s=i*100+j C.s=i+j*10 D.s=(i*10+j)*1012.在Python中,有以下程序段:s=1for i in range(1,5): s=s*iprint(s,i)該程序段運行后,結果為( )A.24 5 B.120 5 C.24 4 D.120 413.在Python中,以下賦值語句格式不正確的是( )A.x,y=y,z B.x,y=1,2 C.x=y=30 D.x+y=z14.下列Python表達式的值等于56的是( )A.abs(-55)+1 B.ord("A") C.len("55")+1 D.chr(56)15.下列關于Python常用的基本數據類型對應正確的是( )A.Number(列表) B.String(字符串) C.Tuple(字典) D.Sets(元組)16.下列 Python 表達式的值為偶數的是( )A.12*3%5 B.len(“Welcome”)C.int(3.9) D.abs(-8)17.有如下程序段,測試結果為圖 11 所示圖 11n = int(input("請輸入行數:"))if n % 2 == 0: #保證n 的值為奇數n=n-1a=[]for i in range(n):if i<=n//2:b=2*i+1 #當在上半部分的時候else:#當在下半部分的時候 a.append(" "*w+"&"*b)for s in a: print(s)請輸入行數:6 & &&&&&&&&&&& &上述程序中劃線處可選語句為( )①b=n-2*i+1 ②b=(n-i)*2-1 ③w=(n-b)%2 ④w=(n-b)//2A.①③ B.①④ C.②③ D.②④18.有如下Python程序段 s="aabbccabc" st=s[1] for i in range(1,len(s)): if len(st)==0 or s[i]!=st[len(st)-1]: st=st+s[i] else: st=st[0:len(st)-1] print(st) 運行該段代碼后,輸出結果為( )A.abc B.abcabc C.ababc D.aabbc19.有如下 python 程序段: n='15867239012' s=0 for x in n: if int(x)%2==0: continue elif s==14: break s+=int(x) print(s) 該程序段執行后,則輸出結果為 ( )A.18 B.26 C.14 D.1720.代碼print(6+3==8), 運行后輸出結果是( )A.6+3==8 B.8 C.True D.False二、填空題21."sun"in "sunday "的值為_______________。22.閱讀程序代碼,寫出運行結果。運行結果是:__________。23..在Python中,(13%3)**2的結果是_______。24.小申同學得到的關于共享單車使用情況的數據文件中,發現有如下圖中方框中的數據屬于___① 值,可以對此類數據進行處理可用pandas庫中的___② 函數。其語句可以為:df.②(subset=[‘bike_id’,’datetime’],keep=’first’,inplace=__③ )。圖中圈出數據記錄中有__④ 值,識別該值的方法是使用___⑤ 函數,若返回值是Tru13÷500e,則說明此處有缺失值,若要刪除缺失值記錄可采用的方法是__⑥ 函數。A.drop_ duplicates ( ) B.dropna ( ) C.isnull( ) D.notnull ( )E.重復值 F.缺失值 G.異常值 H.True I.False25.下列程序,運行結果為( )import mathx=16if x<0: y=abs(x)else: y=math.sqrt(x)print(y)三、判斷題26.Python程序設計語言屬于高級語言。( )27.Python語言中求列表長度可以用len()函數。( )28.循環結構表示程序中各步操作按出現的先后順序執行。( )29.順序結構的執行順序是自上而下依次執行的。( )30.在Python中定義函數的關鍵字是define。( )31.While循環語句的循環體中必須有改變條件表達式值的語句,否則會形成死循環。 ( )32.如果變量a=5,那么表達式10>a and a<3的結果為False。( )33.在 Python語言環境下,For循環語句中的循環體在書寫時需要縮進,且必須縮進四個空格。 ( )34.程序的基本結構有順序結構、選擇結構和循環結構。( )35.Python中“/”表示求余。( )四、操作題36.小明對入棧、出棧規則研究發現, 若有 n 個數字 1,2,3,……,n 按由小到大的順 序入棧,則出棧序列必須遵循下述原則: 當數字 x 出棧后,則在x后出棧的小于x 的 所有數字必定以降序排列,比x大的數字可以夾雜在該降序序列中。現編寫 Python 程 序,按上述原則驗證一個隨機產生的出棧序列是否可能, 程序運行界面如圖所示。(1) 根據題意,若有 7 個數字入棧, 則出棧序列“3→2→5→4→7→1→6”是______ (單選,填字母: A.可能 / B.不可能)(2) 實現上述功能的Python程序代碼如下,程序中加框處代碼有錯,請改正_________。(3)請在劃線①②處填入合適代碼__________、________。import randomn=int(input('請輸入入棧元素的個數:'))data=[i+1 for i in range(n)]random.shuffle(data) #將序列的所有元素隨機排序s=” ”for i in range(n):print('隨機產生的出棧序列為: '+s[1:])flag=True;i=0while i①for j in range(i+1,n):if data[j]if data[j]x=data[j]else:②#去除最后多余的'→'breaki+=1if flag:print('該出棧序列是可能的!')else:print('該出棧序列是不可能的! ')試卷第1頁,共3頁試卷第1頁,共3頁參考答案:1.A【詳解】本題主要考查字符串切片操作。切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。13位數字標識商品信息中,其中8~12位是表示商品名的代碼,由于元素下標從0開始,所以截取應該是7-11位,表示為s[7:12]或者為s[-6:-1],故本題選A選項。2.D【詳解】本題主要考查Python程序分析。分析程序,室溫不高于33℃時,主板 LED顯示“笑臉”圖形,室溫高于33℃時,主板 LED 顯示“哭臉”圖形,故本題選D選項。3.B【詳解】本題主要考查Python表達式的運算。2**3%3=2,int(5.5)=5,len("python")=6,max([1,2,3,5,8])=8,故本題選B選項。4.B【詳解】本題主要考查字符串的操作。字符串的下標從0開始,s[1]的值為'h';切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。s[-1:-4:-1]的值為'god',s[0:2]的值為'th',s[: :]的值為 'the quick brown fox jumps over a lazy dog',故本題選B選項。5.D【詳解】本題主要考查Python字符串切片操作。切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。故當輸入260時,執行else部分,輸出62,輸入-123時執行if部分,輸出-321,故本題選D選項。6.A【詳解】本題考查VB程序段。該VB程序段對Text1中的數字字符進行桶排序,對數字x的排序規則為a((x+1)Mod10)=a((x+1)Mod10)+1。最后在文本框Text2依次輸出a(0)~a(9)的值,從輸出結果1302000100知,文本框Text1中含有1個9,3個0,2個2,1個6,不包含其余數字,四個選項中,只有A符合要求。7.A【詳解】本題主要考查Python程序的調試。isprime(num)用于判斷num是否為素數,哥德巴赫猜想是近代三大數學難題之一,即任一大于2的偶數,都可表示成兩個素數之和。劃線處的代碼需要判斷j與n-j是否均為素數,若滿足if判斷條件則輸出,故填isprime(j) and isprime(n-j) ,故本題選A選項。8.C【詳解】本題主要考查Python程序的綜合應用。randint(1,10)的范圍是1到10包含1和10的自然數。num列表元素賦值后最大值是10。賦值后沒有代碼對num列表元素值增大的運算,故選項A有11而錯誤;由if條件可知奇數下標的元素大于前一個元素時兩個元素交換,因此奇數下標對應的元素值小于等于前一個元素值,選項B中最后一個元素值2大于0,選項B錯誤;選項D中下標為3的元素值是1,下標為2的元素值也是1,if條件不成立執行else部分進行自身減1操作。如果減1之后是1,那么之前應該是2。如果是2if條件就成立,因此選項D矛盾,故本題選C選項。9.D【詳解】本題主要考查Python程序的執行。第一個for循環的作用是把輸入字符串的每個字符對應的ASCII碼作為a數組的索引值,并把對應的數組元素值設置為1。第二個for循環是遍歷a數組元素,此循環中的內嵌循環相當于if判斷,因為a[i]的值不是0就是1,只有a[i]的值為1時才執行一次s2=s2+chr(i)語句,s2的結果就是按ASCII碼順序把字符串重新排序,故s1中輸入的內容為“abs54int”后s2的值為“45abinst”,因此第5個字符是i,故本題選D選項。10.D【詳解】本題主要考查Python表達式的運算。邏輯運算符or兩邊值均為假時值才為假,否則值為真;邏輯運算符and兩邊值均為真時值才為假,否則值為假。在Pythn中,a=2,b=5,表達式a>b and b>4的值是False,故本題選D選項。11.D【詳解】本題主要考查Python程序的調試。分析程序,其百位數和十位數模糊不清,變量m是25006加上該模糊的三位數,該三位數即對應的模糊2位數乘以10,變量i控制高位,變量j控制低位,故劃線處應填的代碼是s=(i*10+j)*10,故本題選D選項。12.C【詳解】本題主要考查Python呈現執行。range(start, stop, [step]),start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價于range(0, 5);stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5;step:步長,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)。故循環執行完,i=4,s=s*i=1*1*2*3*4=24,故本題選C選項。13.D【詳解】本題主要考查Python表達式。Python賦值語句是將等號右邊的式子賦給左邊的變量,故格式不正確的是x+y=z,故本題選D選項。14.A【詳解】本題考查的是Python函數。abs()是求絕對值;ord()返回對應的 ASCII 數值;len()求長度;chr返回一個對應的字符。abs(-55)+1=56;ord("A")=65;len("55")+1=3;chr(56)="8"。故本題應選A。15.B【詳解】本題主要考查Python基本數據類型的描述。Number(數字),list(列表),String(字符串),dict(字典),Tuple(元組),Sets(集合),故本題選B選項。16.D【詳解】本題主要考查Python表達式。12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本題選D選項。17.D【詳解】本題主要考查Python程序的綜合應用。①此處處理下半部分,下半部分n-i是與上半部分i對應,如n=6,i=3,此時b=3進行驗證,發現(n-i)*2需要減去1,故第一空填b=(n-i)*2-1。變量w是用來控制符號“&”前面需要的空格數,代入驗證,可知第二空填w=(n-b)//2,故本題選D選項。18.A【詳解】本題主要考查Python程序的執行。分析程序可知,該程序實現將s中相鄰不相等的字母依次拼接到變量st中,相等字母跳過,s="aabbccabc",故運行該段代碼后,輸出結果為abc,故本題選A選項。19.B【詳解】本題主要考查Python程序執行。分析程序,變量x是依次取字符串n中的字符,當int(x)是偶數時跳過本輪循環,若s的值為14則退出循環,其余情況執行s+=int(x),故s=0+1+5+7+3+9+1=26,故本題選B選項。20.D【詳解】本題考查表達式。print(6+3==8)輸出值為判斷等式兩邊是否相同,顯然不相同,輸出False。故選項D正確。21.True【詳解】本題主要考查Python表達式。字符串sun是字符串sunday的字串,故"sun"in "sunday "的值為True。22.114【詳解】本題主要考查Python程序的執行。分析程序可知,該程序實現對列表data中的偶數進行求和賦給變量sum,故sum=sum+i=0+34+78=114,故運行結果是114。23.1【詳解】本題主要考查Python表達式的運算。(13%3)**2=1**2=1。24. E A H F C B【詳解】本題主要考查Python程序設計。下圖中方框中的數據屬于重復值,可以對此類數據進行處理可用pandas庫中的drop_ duplicates ( ) 函數(去重函數)。其語句可以為:df.drop_ duplicates ( )(subset=[‘bike_id’,’datetime’],keep=’first’,inplace=False )。圖中圈出數據記錄中有缺失值,識別該值的方法是使用isnull( )函數(判斷是否為空函數),若返回值是Tru13÷500e,則說明此處有缺失值,若要刪除缺失值記錄可采用的方法是dropna ( )函數。25.4.0【詳解】本題主要考查Python程序的執行。x=16,不滿足if判斷條件,執行else部分y=math.sqrt(x)=4.0,故運行結果是4.0。26.正確【詳解】本題主要考查Python程序設計語言。Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的高級語言,故表述正確。27.正確【詳解】本題主要考查Python函數的應用。Python語言中求列表長度可以用len()函數,表述正確。28.錯誤【詳解】本題主要考查循環結構的描述。順序結構表示程序中各步操作按出現的先后順序執行,循環可以多次重復地執行多條語句,故表述錯誤。29.正確【詳解】本題主要考查程序控制結構。順序結構的執行順序是自上而下依次執行的,表述正確。30.錯誤【詳解】本題主要考查Python關鍵字。在Python中定義函數的關鍵字是def,故表述錯誤。31.正確【詳解】本題考查while循環語句。while循環中如果缺少條件判斷,循環會無限制地執行下去,形成死循環,造成電腦內存空間占用,嚴重時可能造成電腦卡頓甚至死機。故本題判斷正確。32.正確【詳解】本題考查的是表達式的運算。10>5為真,5<3為假,所以10>5 and 5<3為假,題干描述正確。33.錯誤【詳解】本題考查的是Python中的for語句格式。在 Python語言環境下,For循環語句中的循環體在書寫時需要縮進,但不是必須縮進四個空格。故題干中的說法錯誤。34.正確【詳解】本題主要考查程序控制結構。程序的基本結構有順序結構、選擇結構和循環結構,表述正確。35.錯誤【詳解】本題主要考查Python運算符。Python中“%”表示求余,“/”表示除,故表述錯誤。36. B s+=’ →’+str(data[i]) x=data[i] flag=False【詳解】本題主要考查棧數據結構及Python程序的綜合應用。(1)根據提干原則:當數字x出棧后,則在x后出棧的小于x的所有數字必定以降序排列,比x大的數字可以夾雜在該降序序列中。3出棧后比3小的2、1是降序排列;當2出棧后比2小的1是降序排序;當5出棧后比5小的4、1是降序排列;當4出棧后比4小的1是降序排列;當7出棧后比7小的1、6沒有按降序排列,故該出棧序列不可能,選B選項。(2) 加框處的代碼是“s+ = str (data[i]+'→”。輸出s變量是用的是s[1 :],結合運行界面應“去掉最后多余的“→”,可知加框處修改為“s+=’ →’+str(data[i])”。(3)①處下邊有一行代碼“if data[j] < x”, 此行代碼之上沒有變量x的定義和賦值。python中變量使用前需要賦值聲明,由此推斷①處和x有關。再結合上下文代碼和題意,可知此處填寫為x = data [i]。x表示當前比較到的最小值,初始化為出棧的值。最后的if語句會根據flag變量的值判斷出棧序列是否可能。整個while語句塊中都沒有改變flag值的地方,由此推測此處和flag有關。該處屬于的else語句塊是不可能為出棧序列的情況,同時由break語句可推測此處設置flag設置為False。答案第1頁,共2頁答案第1頁,共2頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫