資源簡介 浙江省溫州市2020-2021學年高一下學期信息技術期末考試試卷一、選擇題1.(2021高一下·溫州期末)①設計算法,②描述算法,③調試運行程序,④抽象建模,⑤編寫程序。從以上這些過程選出屬于用計算機編程解決問題的一般過程,并正確排序后的選項是( )A.④①⑤② B.①②③④ C.④①②⑤ D.④①⑤③2.(2019高二下·湖州月考)某算法的部分流程圖如圖所示,執行這部分流程后,變量a,b的值分別是( )A.3,3 B.3,4 C.6,6 D.7,113.(2021高一下·溫州期末)關于python程序設計語言,下列說法不正確的是( )。A.python源文件以***.py為擴展名B.python的默認交互提示符是:>>>C.python只能在文件模式中編寫代碼D.python具有豐富和強大的模塊4.(2021高一下·溫州期末)語句print( 'abd' > 'abc' and 20%6 = = 10%4 )的結果為( )A.False B.True C.3 D.編譯錯誤5.(2021高一下·溫州期末)下列可以作為python變量名的是( )A.'a1' B.6key C.False D.i_f6.(2021高一下·溫州期末)已知變量x=5,執行語句x*=x+3,變量x的值為( )A.8 B.13 C.28 D.407.(2021高一下·溫州期末)表達式12 % 9 和 –12% 9 的結果分別是( )A.1、6 B.3、–3 C.1、–3 D.3、68.(2021高一下·溫州期末)有如下python程序段:a="Doing is better than saying ."print(r"\n"+a[ :15])該程序運行后,輸出的結果是( )A.直接輸出:' \nDoing is better 'B.直接輸出:\nDoing is better thC.直接輸出:\nDoing is betterD.先換行,然后在新的一行中輸出:Doing is better9.(2021高一下·溫州期末)已知列表:s1=[1,['a','b'],True],執行以下程序:s1=[1,['a','b'],True]s1[0]=s1[0]*2s1.append(('apple','banana'))print(s1[1: ])執行后輸出的結果為:( )A.[True, ('apple', 'banana')]B.[ ['a', 'b'], True, ('apple', 'banana')]C.[2,['a', 'b'], True, 1, ['a', 'b'], True]D.[1, ['a', 'b'], True, ('apple', 'banana')]10.(2021高一下·溫州期末)已知字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' },要得到字典中的值'b',下列方法可行的是( )A.dict1[(1,2)] B.dict1{'b'} C.dict1[3] D.dict1['b1']11.(2021高一下·溫州期末)小王編寫了出租車收費的python程序,代碼如下:s1=float(input('請輸入行駛路程(公里):'))if s1<=3:f=10elif s1<=10:f=10+2.5*(s1-3)else:f=27.5+3.5*(s1-10)print(f)要測試所有分支程序代碼是否正確,以下測試數據中,最恰當的一組是( )A.3,8 B.-1,5,12 C.1,6,20 D.3,12,2012.(2021高一下·溫州期末)有下面一段程序:p = [ 2, 1, 3, 4, 5 ]c = 0for i in range( 2, 6, 2 ):if p[ i - 2 ] + p[ i -1 ] == p[ i ]:c += 1print( c )執行該段程序后,計算機顯示的是( )A.1 B.2 C.3 D.413.(2021高一下·溫州期末)以下程序導入python的math模塊,使用math模塊下的函數對輸入的實數進行向下取整,具體代碼如下:①n = input("請輸入一個實數:")②print(n3)請完善該代碼,上述劃線處可選的語句為:( )A.① import math ;② n3=math.floor(float(n)) ;B.① import math;② n3=floor(float(n)) ;C.① import math ;② n3=math.sqrt(float(n)) ;D.① from math import ceil ;② n3=ceil(float(n)) ;14.(2021高一下·溫州期末)小林編寫一段文件讀寫操作代碼,文件如圖,代碼段如下:file=open('ceshi.txt','w')file.write("python is a programming language.")file.close( )file=open('ceshi.txt','r')print(file.read( ))該代碼段運行后,輸出的結果為( )A.IA Distributed System Based on Python.B.python is a programming language.C.IA Distributed System Based on Python. python is a programming language.D.程序編譯錯誤,不會輸出結果15.(2021高一下·溫州期末)執行如下代碼:c=0num=[1,2,3,4]def fun(num):global cfor i in range( 5 ) :c+=1num.append(c)return numprint(fun(num), num ,c)則程序執行后輸出( )A.[1,2,3,4] [1,2,3,4]B.[1, 2, 3, 4, 5] [1,2,3,4] 0C.[1, 2, 3, 4, 5] [1,2,3,4] 5D.[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5二、操作題16.(2021高一下·溫州期末)廣場上有許多(有數百人)小朋友在玩分組游戲,當他們分成三人一組時,發現最后多出兩個;當他們分成五人一組時,發現最后多出三個;當他們分成七人一組時,發現最后多出兩個。編寫程序求出這些小朋友的可能人數。實現上述功能的程序如下,請在程序劃線處填入合適的代碼。 a=[ ]for i in range(100,1000):if :a.append(i)total + = 1print("這群小朋友總的人數有:")for j in range(len(a)):print( ,end='、')print('')print('可能情況數為:',total,'種')17.(2021高一下·溫州期末)若兩個素數之差為2,則該對素數稱為雙胞胎數,如 3,5 就是一對雙胞胎數。編寫 python 程序,實現如下功能:輸入 n 的值,統計顯示 n 以內的所有雙胞胎數。程序運行界面如圖所示:實現上述功能的程序如下,請在劃線處填入合適的代碼。import mathdef isprime(x): for i in range(2,int(math.sqrt(x))+1):if x % i = = 0 :f=Falsereturn fn=int(input("請輸入一個正整數n:"))c=0k=3while k < = n-2:if isprime( k ) and :c + = 1print("第"+ str( c ) +"對雙胞胎數:", k ,'和',k+2) print("共有"+str(c)+"對雙胞胎數")18.(2021高一下·溫州期末)小王編寫了“字符串縮寫”程序,實現如下功能:1)輸入一串由英文字母和數字組成的字符串,2)如果字符串有連續字符構成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),則把升序段縮寫成由第一個字符加上“ — ”和最后一個字符組成的新字符段,3)例如:字符串為“abcdf12345becomexy”,則縮寫成“a-df1-5becomex-y”。程序運行時,輸入一串字符,輸出縮寫的字符串,程序運行效果如下圖所示:實現上述功能的程序如下,請在程序劃線處填入合適的代碼。s=input("請輸入字符串s:") flag = Falseresult=" "for i in range( 0 , k-1):if :result=result+s[i]+"-"flag = Trueelif ord(s[i]) ! = ord(s[i+1])-1:result=result+s[i] result=result + s[i+1]print("縮寫后的字符串為:",result)答案解析部分1.【答案】D【知識點】計算機解決問題的過程【解析】【解答】計算機編程解決問題的一般過程:④抽象建模①設計算法⑤編寫程序③調試運行程序。故答案選D。【分析】本題考查的是計算機解決問題的過程。2.【答案】D【知識點】算法的常用表示方法;算法的控制結構【解析】【解答】分析程序,a=2,b=1,b<5,執行yes語句,a=a+b=3,b=a+b=4;b<5,執行yes語句,a=a+b=7,b=a+b=11;b>5,程序結束,故答案選D。【分析】此題主要考查循環結構流程圖的應用。流程圖描述算法的方法:流程圖使用各種特定的圖形來描述算法,其中用圓角矩形表示開始和結束,用矩形框表示賦值和處理框,用菱形表示判斷框,如果流程線沒有回到流程框上面,就是選擇結構,如果流程線回到菱形框上面就是循環結構,用箭頭表示走向。3.【答案】C【知識點】計算機語言【解析】【解答】python源文件以***.py為擴展名,python的默認交互提示符是:>>>,python能在文件模式中編寫代碼,也能在交互模式中編寫代碼,python具有豐富和強大的模塊。故答案選C。【分析】本題考查的是python程序設計語言。Python是一種跨平臺、開源、解釋型的高級編程語言。Python語言有三個方面的主要特點:語法簡潔、粘性擴展、類庫豐富。4.【答案】B【知識點】運算符、基本運算與表達式【解析】【解答】 'abd' > 'abc' 值為True,20%6==10%4值為True,邏輯運算符and兩邊值均為真時值才為真,否則值為假。 'abd' > 'abc' and 20%6 = = 10%4值為True。故答案選B。【分析】本題主要考查的是Python表達式的運算。運算符優先級別排序:算術運算符>=字符運算符>關系運算符>邏輯運算符。5.【答案】D【知識點】常量、變量及變量的賦值【解析】【解答】選項A:變量名不能有 ' ;選項B:變量不能以數字開頭;選項C:變量名不能是保留字;選項D:i_f可以作為python變量名。故答案選D。【分析】本題考查的是Python變量的命名。Python中的變量名只能由大寫字母、數字、下劃線組成,不能以數字開頭,字母區分大小寫,不能使用保留字。6.【答案】D【知識點】運算符、基本運算與表達式【解析】【解答】語句x*=x+3等價于x=x*(x+3)=5*(5+3)=40。故答案選D。【分析】本題考查的是Python表達式的運算。7.【答案】D【知識點】運算符、基本運算與表達式【解析】【解答】12除9商1余3,-12除9商-2余6。故答案選D。【分析】本題考查的是Python表達式的運算。%是取余運算。8.【答案】C【知識點】基本數據結構;基本語句【解析】【解答】r標識 \ 后面的字符不轉義,a[ :15]表示從a的右邊往左第15位到最左邊全部輸出。該程序運行后,輸出的結果是直接輸出:\nDoing is better。故答案選C。【分析】本題考查的是列表及輸出語句的應用。列表的切片操作:格式:[start: end: step]。功能:返回從索引位置start到索引位置end且以step為步數的子序列(不包含索引位置end的元素)。9.【答案】D【知識點】基本數據結構【解析】【解答】前三行語句執行完,列表s1的元素值分別是2,['a', 'b'], True ,('apple', 'banana'),最后執行語句print(s1[1: ]),輸出列表s1除去第一個元素剩下的所有元素,故執行后輸出的結果為:[ ['a', 'b'], True, ('apple', 'banana')]。故答案選B。【分析】本題主要考查的是Python列表。列表是包含0個或多個對象的有序序列,用方括號“[ ]”括起來,并用逗號分隔其中的對象(元素)。可以通過索引訪問列表中特定位置的元素。列表的切片操作:格式:[start: end: step]。功能:返回從索引位置start到索引位置end且以step為步數的子序列(不包含索引位置end的元素)。10.【答案】A【知識點】基本數據結構【解析】【解答】由字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' }可知,'b'的鍵是(1,2)。要得到字典中的值'b',可以通過語句dict1[(1,2)]。故答案選A。【分析】本題主要考查的是python中字典的應用。字典是Python中唯一內建的映射類型。字典中沒有特殊的順序,但都是存儲在一個特定的鍵(key)下面,鍵可以是數字,字符串,甚至是元組。11.【答案】C【知識點】分支結構語句及程序實現【解析】【解答】本題程序采用的是條件分支結構,第一個條件是s1<=3,第二個條件是310。最恰當的一組測試數據是1,6,20。故答案選C。【分析】本題考查的是對Python條件分支結構的分析。12.【答案】A【知識點】分支結構語句及程序實現;循環結構語句及程序實現【解析】【解答】變量i的取值有2、4,當i=2時,滿足if條件,c=c+1=1。執行該段程序后,計算機顯示的是1。故答案選A。【分析】本題考查的是對Python程序的分析。13.【答案】A【知識點】模塊【解析】【解答】導入python的math模塊,使用import關鍵字,①填 import math;floor() 返回數字的下舍整數,input接收的數據類型是str類型,需要將其轉換為浮點型,②填n3=math.floor(float(n)) 。故答案選A。【分析】本題考查的是Python模塊導入。import語句或from-import語句可以將函數所在的模塊導入。14.【答案】B【知識點】程序的調試及運行;基本語句【解析】【解答】首先打開ceshi.txt文件進行寫操作,寫入python is a programming language.會覆蓋之前的內容。運行該代碼段后,輸出的結果為python is a programming language.。故答案選B。【分析】本題考查的是Python文件讀寫操作。open( )是文件打開函數,read( )、write( )是文件讀寫函數。15.【答案】D【知識點】過程與自定義函數;循環結構語句及程序實現【解析】【解答】fun函數接收一個列表num,循環結束后c的值為5,將c追加到列表num中并返回num,num=[1,2,3,4]。fun(num)執行完,返回值num為[1, 2, 3, 4, 5],程序執行后輸出程序執行后輸出[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5。故答案選D。【分析】本題考查的是python循環結構、列表及函數的應用。append命令是將整個對象加在列表末尾。16.【答案】total=0;i%3 == 2 and i%5 == 3 and i%7 == 2;a[j]【知識點】循環結構語句及程序實現;基本數據結構【解析】【解答】第一空:變量total用來統計有多少種情況,初始值為0,答案為:total=0。第二空:當他們分成三人一組時,發現最后多出兩個;當他們分成五人一組時,發現最后多出三個;當他們分成七人一組時,發現最后多出兩個,即if判斷條件為i%3 == 2 and i%5 == 3 and i%7 == 2,滿足if條件時,將該值加到列表a中,答案為:i%3 == 2 and i%5 == 3 and i%7 == 2。第三空:最后通過for循環輸出所有可能的數,用變量j控制,答案為:a[j]。【分析】本題主要考查的是循環結構和列表的應用。append命令是將整個對象加在列表末尾。17.【答案】f = True;isprime(k+2);k=k+1 或 k+=1 或 k=k+2 或 k+=2【知識點】過程與自定義函數;模塊【解析】【解答】第一空:isprime(x)用來判斷x是不是素數,通過用x整除2~int(math.sqrt(x)),如果余數為0則表明該數不是素數,賦值f為假退出循環,f的初值為True,故填:f = True;第二空:若兩個素數之差為 2,則該對素數稱為雙胞胎數,此處判斷相差為2的兩個數是不是素數,故填:isprime(k+2);第三空:素數都是奇數,此處需要更新k的值繼續循環判斷,可以將k的值遞增1或遞增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本題主要考查的是模塊以及自定義函數的應用。18.【答案】k=len(s);ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag;flag = False【知識點】基本數據結構;常用標準函數【解析】【解答】第一空:isprime(x)用來判斷x是不是素數,通過用x整除2~int(math.sqrt(x)),如果余數為0則表明該數不是素數,賦值f為假退出循環,f的初值為True,故填:f = True。第二空:若兩個素數之差為 2,則該對素數稱為雙胞胎數,此處判斷相差為2的兩個數是不是素數,故填:isprime(k+2)。第三空:素數都是奇數,此處需要更新k的值繼續循環判斷,可以將k的值遞增1或遞增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本題主要考查的是字符串的操作。ord( ):返回對應字符的ASCII數值1 / 1浙江省溫州市2020-2021學年高一下學期信息技術期末考試試卷一、選擇題1.(2021高一下·溫州期末)①設計算法,②描述算法,③調試運行程序,④抽象建模,⑤編寫程序。從以上這些過程選出屬于用計算機編程解決問題的一般過程,并正確排序后的選項是( )A.④①⑤② B.①②③④ C.④①②⑤ D.④①⑤③【答案】D【知識點】計算機解決問題的過程【解析】【解答】計算機編程解決問題的一般過程:④抽象建模①設計算法⑤編寫程序③調試運行程序。故答案選D。【分析】本題考查的是計算機解決問題的過程。2.(2019高二下·湖州月考)某算法的部分流程圖如圖所示,執行這部分流程后,變量a,b的值分別是( )A.3,3 B.3,4 C.6,6 D.7,11【答案】D【知識點】算法的常用表示方法;算法的控制結構【解析】【解答】分析程序,a=2,b=1,b<5,執行yes語句,a=a+b=3,b=a+b=4;b<5,執行yes語句,a=a+b=7,b=a+b=11;b>5,程序結束,故答案選D。【分析】此題主要考查循環結構流程圖的應用。流程圖描述算法的方法:流程圖使用各種特定的圖形來描述算法,其中用圓角矩形表示開始和結束,用矩形框表示賦值和處理框,用菱形表示判斷框,如果流程線沒有回到流程框上面,就是選擇結構,如果流程線回到菱形框上面就是循環結構,用箭頭表示走向。3.(2021高一下·溫州期末)關于python程序設計語言,下列說法不正確的是( )。A.python源文件以***.py為擴展名B.python的默認交互提示符是:>>>C.python只能在文件模式中編寫代碼D.python具有豐富和強大的模塊【答案】C【知識點】計算機語言【解析】【解答】python源文件以***.py為擴展名,python的默認交互提示符是:>>>,python能在文件模式中編寫代碼,也能在交互模式中編寫代碼,python具有豐富和強大的模塊。故答案選C。【分析】本題考查的是python程序設計語言。Python是一種跨平臺、開源、解釋型的高級編程語言。Python語言有三個方面的主要特點:語法簡潔、粘性擴展、類庫豐富。4.(2021高一下·溫州期末)語句print( 'abd' > 'abc' and 20%6 = = 10%4 )的結果為( )A.False B.True C.3 D.編譯錯誤【答案】B【知識點】運算符、基本運算與表達式【解析】【解答】 'abd' > 'abc' 值為True,20%6==10%4值為True,邏輯運算符and兩邊值均為真時值才為真,否則值為假。 'abd' > 'abc' and 20%6 = = 10%4值為True。故答案選B。【分析】本題主要考查的是Python表達式的運算。運算符優先級別排序:算術運算符>=字符運算符>關系運算符>邏輯運算符。5.(2021高一下·溫州期末)下列可以作為python變量名的是( )A.'a1' B.6key C.False D.i_f【答案】D【知識點】常量、變量及變量的賦值【解析】【解答】選項A:變量名不能有 ' ;選項B:變量不能以數字開頭;選項C:變量名不能是保留字;選項D:i_f可以作為python變量名。故答案選D。【分析】本題考查的是Python變量的命名。Python中的變量名只能由大寫字母、數字、下劃線組成,不能以數字開頭,字母區分大小寫,不能使用保留字。6.(2021高一下·溫州期末)已知變量x=5,執行語句x*=x+3,變量x的值為( )A.8 B.13 C.28 D.40【答案】D【知識點】運算符、基本運算與表達式【解析】【解答】語句x*=x+3等價于x=x*(x+3)=5*(5+3)=40。故答案選D。【分析】本題考查的是Python表達式的運算。7.(2021高一下·溫州期末)表達式12 % 9 和 –12% 9 的結果分別是( )A.1、6 B.3、–3 C.1、–3 D.3、6【答案】D【知識點】運算符、基本運算與表達式【解析】【解答】12除9商1余3,-12除9商-2余6。故答案選D。【分析】本題考查的是Python表達式的運算。%是取余運算。8.(2021高一下·溫州期末)有如下python程序段:a="Doing is better than saying ."print(r"\n"+a[ :15])該程序運行后,輸出的結果是( )A.直接輸出:' \nDoing is better 'B.直接輸出:\nDoing is better thC.直接輸出:\nDoing is betterD.先換行,然后在新的一行中輸出:Doing is better【答案】C【知識點】基本數據結構;基本語句【解析】【解答】r標識 \ 后面的字符不轉義,a[ :15]表示從a的右邊往左第15位到最左邊全部輸出。該程序運行后,輸出的結果是直接輸出:\nDoing is better。故答案選C。【分析】本題考查的是列表及輸出語句的應用。列表的切片操作:格式:[start: end: step]。功能:返回從索引位置start到索引位置end且以step為步數的子序列(不包含索引位置end的元素)。9.(2021高一下·溫州期末)已知列表:s1=[1,['a','b'],True],執行以下程序:s1=[1,['a','b'],True]s1[0]=s1[0]*2s1.append(('apple','banana'))print(s1[1: ])執行后輸出的結果為:( )A.[True, ('apple', 'banana')]B.[ ['a', 'b'], True, ('apple', 'banana')]C.[2,['a', 'b'], True, 1, ['a', 'b'], True]D.[1, ['a', 'b'], True, ('apple', 'banana')]【答案】D【知識點】基本數據結構【解析】【解答】前三行語句執行完,列表s1的元素值分別是2,['a', 'b'], True ,('apple', 'banana'),最后執行語句print(s1[1: ]),輸出列表s1除去第一個元素剩下的所有元素,故執行后輸出的結果為:[ ['a', 'b'], True, ('apple', 'banana')]。故答案選B。【分析】本題主要考查的是Python列表。列表是包含0個或多個對象的有序序列,用方括號“[ ]”括起來,并用逗號分隔其中的對象(元素)。可以通過索引訪問列表中特定位置的元素。列表的切片操作:格式:[start: end: step]。功能:返回從索引位置start到索引位置end且以step為步數的子序列(不包含索引位置end的元素)。10.(2021高一下·溫州期末)已知字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' },要得到字典中的值'b',下列方法可行的是( )A.dict1[(1,2)] B.dict1{'b'} C.dict1[3] D.dict1['b1']【答案】A【知識點】基本數據結構【解析】【解答】由字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' }可知,'b'的鍵是(1,2)。要得到字典中的值'b',可以通過語句dict1[(1,2)]。故答案選A。【分析】本題主要考查的是python中字典的應用。字典是Python中唯一內建的映射類型。字典中沒有特殊的順序,但都是存儲在一個特定的鍵(key)下面,鍵可以是數字,字符串,甚至是元組。11.(2021高一下·溫州期末)小王編寫了出租車收費的python程序,代碼如下:s1=float(input('請輸入行駛路程(公里):'))if s1<=3:f=10elif s1<=10:f=10+2.5*(s1-3)else:f=27.5+3.5*(s1-10)print(f)要測試所有分支程序代碼是否正確,以下測試數據中,最恰當的一組是( )A.3,8 B.-1,5,12 C.1,6,20 D.3,12,20【答案】C【知識點】分支結構語句及程序實現【解析】【解答】本題程序采用的是條件分支結構,第一個條件是s1<=3,第二個條件是310。最恰當的一組測試數據是1,6,20。故答案選C。【分析】本題考查的是對Python條件分支結構的分析。12.(2021高一下·溫州期末)有下面一段程序:p = [ 2, 1, 3, 4, 5 ]c = 0for i in range( 2, 6, 2 ):if p[ i - 2 ] + p[ i -1 ] == p[ i ]:c += 1print( c )執行該段程序后,計算機顯示的是( )A.1 B.2 C.3 D.4【答案】A【知識點】分支結構語句及程序實現;循環結構語句及程序實現【解析】【解答】變量i的取值有2、4,當i=2時,滿足if條件,c=c+1=1。執行該段程序后,計算機顯示的是1。故答案選A。【分析】本題考查的是對Python程序的分析。13.(2021高一下·溫州期末)以下程序導入python的math模塊,使用math模塊下的函數對輸入的實數進行向下取整,具體代碼如下:①n = input("請輸入一個實數:")②print(n3)請完善該代碼,上述劃線處可選的語句為:( )A.① import math ;② n3=math.floor(float(n)) ;B.① import math;② n3=floor(float(n)) ;C.① import math ;② n3=math.sqrt(float(n)) ;D.① from math import ceil ;② n3=ceil(float(n)) ;【答案】A【知識點】模塊【解析】【解答】導入python的math模塊,使用import關鍵字,①填 import math;floor() 返回數字的下舍整數,input接收的數據類型是str類型,需要將其轉換為浮點型,②填n3=math.floor(float(n)) 。故答案選A。【分析】本題考查的是Python模塊導入。import語句或from-import語句可以將函數所在的模塊導入。14.(2021高一下·溫州期末)小林編寫一段文件讀寫操作代碼,文件如圖,代碼段如下:file=open('ceshi.txt','w')file.write("python is a programming language.")file.close( )file=open('ceshi.txt','r')print(file.read( ))該代碼段運行后,輸出的結果為( )A.IA Distributed System Based on Python.B.python is a programming language.C.IA Distributed System Based on Python. python is a programming language.D.程序編譯錯誤,不會輸出結果【答案】B【知識點】程序的調試及運行;基本語句【解析】【解答】首先打開ceshi.txt文件進行寫操作,寫入python is a programming language.會覆蓋之前的內容。運行該代碼段后,輸出的結果為python is a programming language.。故答案選B。【分析】本題考查的是Python文件讀寫操作。open( )是文件打開函數,read( )、write( )是文件讀寫函數。15.(2021高一下·溫州期末)執行如下代碼:c=0num=[1,2,3,4]def fun(num):global cfor i in range( 5 ) :c+=1num.append(c)return numprint(fun(num), num ,c)則程序執行后輸出( )A.[1,2,3,4] [1,2,3,4]B.[1, 2, 3, 4, 5] [1,2,3,4] 0C.[1, 2, 3, 4, 5] [1,2,3,4] 5D.[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5【答案】D【知識點】過程與自定義函數;循環結構語句及程序實現【解析】【解答】fun函數接收一個列表num,循環結束后c的值為5,將c追加到列表num中并返回num,num=[1,2,3,4]。fun(num)執行完,返回值num為[1, 2, 3, 4, 5],程序執行后輸出程序執行后輸出[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 5。故答案選D。【分析】本題考查的是python循環結構、列表及函數的應用。append命令是將整個對象加在列表末尾。二、操作題16.(2021高一下·溫州期末)廣場上有許多(有數百人)小朋友在玩分組游戲,當他們分成三人一組時,發現最后多出兩個;當他們分成五人一組時,發現最后多出三個;當他們分成七人一組時,發現最后多出兩個。編寫程序求出這些小朋友的可能人數。實現上述功能的程序如下,請在程序劃線處填入合適的代碼。 a=[ ]for i in range(100,1000):if :a.append(i)total + = 1print("這群小朋友總的人數有:")for j in range(len(a)):print( ,end='、')print('')print('可能情況數為:',total,'種')【答案】total=0;i%3 == 2 and i%5 == 3 and i%7 == 2;a[j]【知識點】循環結構語句及程序實現;基本數據結構【解析】【解答】第一空:變量total用來統計有多少種情況,初始值為0,答案為:total=0。第二空:當他們分成三人一組時,發現最后多出兩個;當他們分成五人一組時,發現最后多出三個;當他們分成七人一組時,發現最后多出兩個,即if判斷條件為i%3 == 2 and i%5 == 3 and i%7 == 2,滿足if條件時,將該值加到列表a中,答案為:i%3 == 2 and i%5 == 3 and i%7 == 2。第三空:最后通過for循環輸出所有可能的數,用變量j控制,答案為:a[j]。【分析】本題主要考查的是循環結構和列表的應用。append命令是將整個對象加在列表末尾。17.(2021高一下·溫州期末)若兩個素數之差為2,則該對素數稱為雙胞胎數,如 3,5 就是一對雙胞胎數。編寫 python 程序,實現如下功能:輸入 n 的值,統計顯示 n 以內的所有雙胞胎數。程序運行界面如圖所示:實現上述功能的程序如下,請在劃線處填入合適的代碼。import mathdef isprime(x): for i in range(2,int(math.sqrt(x))+1):if x % i = = 0 :f=Falsereturn fn=int(input("請輸入一個正整數n:"))c=0k=3while k < = n-2:if isprime( k ) and :c + = 1print("第"+ str( c ) +"對雙胞胎數:", k ,'和',k+2) print("共有"+str(c)+"對雙胞胎數")【答案】f = True;isprime(k+2);k=k+1 或 k+=1 或 k=k+2 或 k+=2【知識點】過程與自定義函數;模塊【解析】【解答】第一空:isprime(x)用來判斷x是不是素數,通過用x整除2~int(math.sqrt(x)),如果余數為0則表明該數不是素數,賦值f為假退出循環,f的初值為True,故填:f = True;第二空:若兩個素數之差為 2,則該對素數稱為雙胞胎數,此處判斷相差為2的兩個數是不是素數,故填:isprime(k+2);第三空:素數都是奇數,此處需要更新k的值繼續循環判斷,可以將k的值遞增1或遞增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本題主要考查的是模塊以及自定義函數的應用。18.(2021高一下·溫州期末)小王編寫了“字符串縮寫”程序,實現如下功能:1)輸入一串由英文字母和數字組成的字符串,2)如果字符串有連續字符構成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),則把升序段縮寫成由第一個字符加上“ — ”和最后一個字符組成的新字符段,3)例如:字符串為“abcdf12345becomexy”,則縮寫成“a-df1-5becomex-y”。程序運行時,輸入一串字符,輸出縮寫的字符串,程序運行效果如下圖所示:實現上述功能的程序如下,請在程序劃線處填入合適的代碼。s=input("請輸入字符串s:") flag = Falseresult=" "for i in range( 0 , k-1):if :result=result+s[i]+"-"flag = Trueelif ord(s[i]) ! = ord(s[i+1])-1:result=result+s[i] result=result + s[i+1]print("縮寫后的字符串為:",result)【答案】k=len(s);ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag;flag = False【知識點】基本數據結構;常用標準函數【解析】【解答】第一空:isprime(x)用來判斷x是不是素數,通過用x整除2~int(math.sqrt(x)),如果余數為0則表明該數不是素數,賦值f為假退出循環,f的初值為True,故填:f = True。第二空:若兩個素數之差為 2,則該對素數稱為雙胞胎數,此處判斷相差為2的兩個數是不是素數,故填:isprime(k+2)。第三空:素數都是奇數,此處需要更新k的值繼續循環判斷,可以將k的值遞增1或遞增2,故填:k=k+1 或 k+=1 或 k=k+2 或 k+=2。【分析】本題主要考查的是字符串的操作。ord( ):返回對應字符的ASCII數值1 / 1 展開更多...... 收起↑ 資源列表 浙江省溫州市2020-2021學年高一下學期信息技術期末考試試卷(學生版).docx 浙江省溫州市2020-2021學年高一下學期信息技術期末考試試卷(教師版).docx 縮略圖、資源來源于二一教育資源庫