資源簡介 2.4 可以復用的代碼(同步練習)-高中信息技術教科版(2019)必修1一、填空題1.用戶自定義函數是用戶自己寫的一段程序。一般包括______、______、______和______等四部分。其中______和______是必不可少的,______和______可根據需要進行定義。2.Python內置函數______可以返回列表、元組、字典、集合、字符串以及range對象中元素個數。3.Python內置函數______用來返回數值型序列中所有元素之和。4.函數的調用采用______的方式。5.函數執行完成后,由______將表達式的值返回給調用者,結束函數。6.調試程序。請閱讀以下程序并寫出運行結果。fruites=['banana','apple','mango']for fruit in fruites:print(fruit)a=len(fruites)print('a=',a)_________________二、操作題7.定義函數的基本def jiecheng(n):s=1 for i in range(2,n+1):s=s*i ___________abs=input(”請輸入需求解的階乘數n:”)total=___________print(total)8.統計英文文本中出現的不同單詞個數:輸入一段英文文本,要求單詞和單詞之間用1個空格或標點符號隔開,文末以標點符號結尾,在區分單詞大小寫的情況下,輸出該文本中所出現的不同單詞個數。Python程序運行界面如圖所示。(1)實現上述功能的Python程序段如下,請在劃線處填入適當的代碼。text=input("請輸入英文文本:")lst=[]s=""def judge(① _______): if st in lst: return False else: return Truefor i in range(len(text)): ②_______ if "a"<=c<="z" or "A"<=c<="Z": s=s+c else: if judge(s): lst.append(s) s=""print("出現的不同單詞個數為:",len(lst))(2)運行程序時,若輸入的英文文本為“Great hopes make great men”(不包括雙引號),則輸出的不同單詞個數為_______。三、選擇題9.編寫Python程序求解51+52+53+……+100的和,程序代碼如題圖所示。則代碼中①處應填入的數值是( )s=0 for i in range( ① ,101): s=s+i print(s)A.1 B.49 C.51 D.10010.在運行for循環語句程序時,沒有錯誤提示但結果不對,此時應該檢查( )A.for語句是否有冒號 B.循環語句是否存在邏輯錯誤C.for語句保留字是否正確 D.循環體語句是否正確縮進11.實現求1~100共100個數的和的程序如下:sum=0for i in _____________: sum+=i劃線處應填入的代碼為( )A.range(1,101) B.range(0,100) C.range(1,100) D.range(100)12.某python程序如下,程序運行完后,輸出s2的值是( )s1="today"s2=""for c in s1:s2=c+s2print(s2)A.today B.yadot C.odayt D.tdyoa13.在Python語言中,運行以下代碼,運行結果是( )sum= 1for j in range(1,5): sum= sum *jprint(sum,j)A.24,5 B.120, 5 C.24 ,4 D.120, 414.某python程序如下,程序運行完后,輸出x的值是( )x=0for i in range(1,11,2):x+=iprint(x)A.9 B.16 C.25 D.3615.新高考改革學生可以自主決定科目組合。某校為了統計選物理學科人數,從而劃分班級。現通過輸入所有 n 名學生的選科情況,計算選物理學科的總人數。待補全程序代碼如下:n = int(input("請輸入學生總人數:"))sum = 0for i in range(①): t = input("輸入選科編號:") if t == "": sum=②print("選物理學生人數為:",sum)下列正確答案是( )A.①應為 n ,②應為 sum+ 1 B.①應為 n+ 1 ,②應為 sumC.①應為 n ,②應為 i+1 D.①應為 n+ 1 ,②應為 t+116.有如下Python程序段:import randoma=[]for i in range(6): a.appendrandom.randintrandom.randint(1,10))for i in range(5): if i%2==0 and a[i] < a[i+1]: a[i],a[i+1]=a[i+1],a[i] else: a[i]-=1print(a)運行該程序后,輸出結果不可能的是( )A.[7, 3, 3, 4, 9, 4] B.[8, 8, 10, 5, 7, 8] C.[9, 4, 9, 4, 8, 7] D.[7, 2, 9, 7, 4, 5]17.已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},下列語句執行完畢后,s的值為5的是( )A.s=0 for i in a[5]: s=s+1 B.s=0 for i in range(b[2]): s=s+1C.s=0 while s<=c[2]: s=s+1 D.s=0 while s>c[3]: s=s+1A.A B.B C.C D.D18.下列程序運行后結果是( )sum=0for i in range(1,7,2): sum = sum+iprint(sum)A.4 B.7 C.9 D.16參考答案1.答案:函數名 參數 返回值 函數體 函數名 函數體 參數 返回值解析:2.答案:len()解析:3.答案:sum()解析:4.答案:函數名(參數)解析:5.答案:return語句解析:6.答案:bananaapplemangoa= 3解析:7.答案:Return s,jiecheng(abs)解析:8.答案:(1)st;c=text[i](2)4解析:本題考查Python程序。(1)在答題空1中,使用st來作為函數judge的參數,這是因為在程序的上下文中,我們正在處理文本中的每個字符,希望將字符構建成一個完整的單詞。st在這里是一個代表正在構建的單詞的字符串。故答案為:st。在答題空2中,使用c=text[i]來將當前循環迭代到的字符存儲在變量c中。這是因為我們需要檢查當前字符是否是字母(構成單詞的一部分),或者是非字母字符(表示一個單詞的結束或標點符號)。故答案為:c=text[i]。(2)入的英文文本 "Great hopes make great men" 中包含以下4個不同的單詞:Great、hopes、make、men。在程序中,我們通過判斷單詞是否已經在 lst 列表中來記錄不同的單詞,然后最后輸出 lst 的長度,即不同單詞的個數為4。故答案為:4.9.答案:C解析:本題考查的是range函數。格式:range(起始值,結束值,步長),結束值不包含,步長可省略,默認為1。由題干“求解51+52+53+……+100”可知起始值為51,故本題應選C。10.答案:B解析:本題考查循環語句。當在運行for循環語句程序時,沒有錯誤提示但結果不正確,通常表示存在邏輯錯誤,這意味著程序的控制邏輯不符合預期,導致循環的執行不如預期那樣。因此,應該檢查循環語句中的邏輯,包括循環條件、循環變量的變化、循環體內的操作等,以確定問題出在哪里,并進行適當的修正。故答案為B選項。11.答案:A解析:本題主要考查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)。實現求1~100共100個數的和,因此循環條件是range(1,101),故本題選A選項。12.答案:B解析:本題考查Python程序執行。解題思路程序可知,該程序實現將字符串s1逆序保存到s2中,s1="today",因此程序運行完后,輸出s2的值是yadot,故選B。13.答案:C解析:本題考查的是Python循環語句。range(1,5)生成1、2、3、4序列數,故sum=1*1*2*3*4=24,j的終值是4。選項C正確。14.答案: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依次取1、3、5、7、9,因此x=x+i=0+1+3+5+7+9=25,故選C。15.答案:A解析:本題考查的是Python循環語句應用。range(起始值,結束值,步長)結束值不包含,步長可省略,默認為1,起始值可以省略,默認為0;故①應為 n;輸入的選科若為物理學科,則統計人數加1,sum存放的是選物理學科的人數,故②應為 sum+ 1。選項A正確。16.答案:A解析:本題考查的是循環語句。閱讀程序可知,列表索引為偶數同時比后一個元素小時,交換兩數;其余情況列表元素值減1。如果原來列表索引為偶數的值比后一個大,這兩個數都是執行else,執行后索引為偶數的值還是大于后一個;如果原來列表索引為偶數的值等于后一個,這兩個數都是執行else,執行后索引為偶數的值還是等于后一個(特例:當原來a[4]=a[5],由于第二個for變量取值到4,a[5]不減1,這時a[5]-a[4]=1);如果原來列表索引為偶數的值比后一個小,索引為偶數執行if語句(使得索引為偶數的值大于后一個),后一個執行else,執行后索引為偶數的值大于后一個。總上所述,程序執行結果肯定:a[0]>=a[1],a[2]>=a[3]。選項A中a[2]=3,a[3]=4不滿足a[2]>=a[3]。故本題應選A。17.答案:C解析:本題考查Python循環結構的應用。已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},a[5]="5",b[2]=4,c[2]=4,c[3]=5,選項運行結果依次是:1、4、5、0。故選C。18.答案: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依次取1、3、5,因此sum=sum+i=0+1+3+5=9。故選C。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫