資源簡介 第2單元 編程計算 綜合練習 教科版(2019) 必修1 數據與計算一、選擇題1.有如下程序段,測試結果為圖 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.②④2.下面的Python程序段運行后的輸出結果是( )x=24if x%2=1:print(x,"是奇數。")else:print(x,"是偶數。")A.24是奇數。 B.x是偶數。 C.x是奇數。 D.24是偶數。3.有如下 python 程序段: s=''from random import *for i in range(1,4): k = int(random()*3+1) c=chr(96+k) if i % 2 == k % 2: s=s+c else: s=c+s print(s)若該段程序執行以后,s 的值不可能的是( )A.'abc' B.'bbc' C.'aab' D.'caa'4.有如下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.i5.有下列Python程序段:d=[["c",1],[1,2],["o",3],[15,4],["d",5],[9,6],["e",7],[6,-1]]t=0;outs=""while t!=-1: s=d[t][l] outs=chr((ord(d[t][0])-97+d[s][0])%26+97)+outs t=d[s][1]print(outs)已知小寫字母“a”的十進制ASCII碼值為97,執行該程序段后,輸出結果為( )A.yuzb B.bzyu C.kmdd D.ddmk6.有如下 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.177.有下面一段程序: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.48.下列Python程序段功能為:隨機生成省會城市的測試題目及相應答案。運行結果如圖所示。import randomdict={"北京市":"北京","上海市":"上海","河北省":"石家莊",…}#dict中存儲中國34個省級行政區及其省會城市sf=list( (1) )sh=list( (2) )sj=random. randint(0,33) #生成[0,33]之間的整數zd=sh[sj]del sh[sj] #刪除列表sh中的第sj項xx=random. sample(sh,3)+[zd] #隨機產生列表sh中的3項,與zd連接成新列表xxrandom. shuffle (xx) #對列表xx中的內容進行隨機排序print("%s的省會城市是?"% (3) )for i in range(4):print (%s. %s'%('ABCD'[i],xx[i]))print('本題參考答案為:%s'%('ABCD'[ (4) ]))上述程序段中方框處可選語句為:( )①dict. values ②dict. keys() ③sh[sj]④sf[sj] ⑤xx. index(zd) ⑥xx[zd]則(1)(2)(3)(4)處語句依次可為A.①②④⑤ B.①②③⑥ C.②①④⑥ D.②①④⑤二、填空題9.有10個數據34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,當程序運行結束時,輸出的值是: _____list= [34,22, 101,8,14,88,24,17,54,7]num=list[0]for i in range(1,10):if list[i]num=list[i]print(num)10.Python語言用于實現循環結構的語句有______語句和while語句。11.完善程序。求出100以內滿足afor a in range(1,101) for b in range ___ :for c in range(1,101): if____: print(a," ",b,"",c)12.閱讀程序代碼,寫出運行結果。運行結果是:__________。13.閱讀程序。分析代碼并回答問題。list=['a','b','c','d','e','f','g']list1=[]list2=[]for i in range(7): if i%2==0: list1.append(list[i])else: list2.append(list[i])print(list1)print(list1)(1)list 的數據類型是 _______。(2)list中的元素的數據類型 ________。(3)list1=[]的作用是 _______。(4)for i in range(7)語句中,i 的實際數據范圍是從_____到 ____。(5)append(list[i])的作用是______。三、判斷題14.在循環中continue語句的作用是跳出循環的執行。( )15.屏幕保護程序的主要作用是保護用戶的眼睛。( )16.王軍同學編寫程序解決“韓信點兵”問題后,總結出計算機解決問題的過程分為分析問題-設計算法-編寫程序-調試運行程序等步驟。 ( )17.鍵盤上的Ctrl鍵具有獨立的控制程序運行的作用。( )18.分析問題就是從具體的問題中,明確條件和需求,找出條件和需求之間的關系,并盡量用數學的語言加以描述。( )四、操作題19.判斷身份證校驗位是否正確第一步:將身份證號碼的第1位數字與7相乘;將身份證號碼的第2位數字與9相乘;將身份證號碼的第3位數字與10相乘;將身份證號碼的第4位數字與5相乘;將身份證號碼的第5位數字與8相乘;將身份證號碼的第6位數字與4相乘;將身份證號碼的第7位數字與2相乘;將身份證號碼的第8位數字與1相乘;將身份證號碼的第9位數字與6相乘;將身份證號碼的第10位數字與3相乘;將身份證號碼的第11位數字與7相乘;將身份證號碼的第12位數字與9相乘;將身份證號碼的第13位數字與10相乘;將身份證號碼的第14位數字與5相乘;將身份證號碼的第15位數字與8相乘;將身份證號碼的第16位數字與4相乘;將身份證號碼的第17位數字與2相乘。第二步:將第一步身份證號碼1~17位相乘的結果求和,全部加起來。第三步:用第二步計算出來的結果除以11,這樣就會出現余數為0,余數為1,余數為2,余數為3,余數為4,余數為5,余數為6,余數為7,余數為8,余數為9,余數為10共11種可能性。第四步:如果余數為0,那對應的最后一位身份證的號碼為1;如果余數為1,那對應的最后一位身份證的號碼為0;如果余數為2,那對應的最后一位身份證的號碼為X;如果余數為3,那對應的最后一位身份證的號碼為9;如果余數為4,那對應的最后一位身份證的號碼為8;如果余數為5,那對應的最后一位身份證的號碼為7;如果余數為6,那對應的最后一位身份證的號碼為6;如果余數為7,那對應的最后一位身份證的號碼為5;如果余數為8,那對應的最后一位身份證的號碼為4;如果余數為9,那對應的最后一位身份證的號碼為3;如果余數為10,那對應的最后一位身份證的號碼為2。(1)如果身份證的前17位是34052419800101001,則該身份證的校驗位是__________。(2)實現上述功能的代碼如下,請在劃線處填入合適的代碼,使程序正常運行。(3)實現上述功能的代碼如下,但加框處代碼有錯,請改正。def check(s):s1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]s2='10X98765432'k=0for i in ____________①:k=k+int(s[i])*s1[i]return_________sfz=input('請輸入身份證號:')_____________②if t !=18:print('位數有誤,請重新輸入!')else:if sfz[-1]=='x':sfz=sfz[:-1]+"X"if ____________________③:print('合法身份證號')else:print('非法身份證號')五、簡答題20.定義函數的基本格式是: ______。21.判斷輸入的一個整數能否同時被3和7整除,若能,則輸出“Yes”;否則輸出“No”。試卷第1頁,共3頁試卷第1頁,共3頁參考答案:1.D2.D3.C4.D5.C6.B7.A8.D9.710.for11. (1,101) a*a==b*b+c*c12.11413. 列表 字符型 定義一個空的列表 0 6 可以向list中添加元素14.錯15.錯誤16.對17.錯誤18.對19. X range(0,17) t=len(sfz) check(sfz)==sfz[-1] s2[k%11]20.def 函數名(參數): #函數說明 語句或語句組 return 返回值21.n=int(input("請輸入一個整數:"))if n%3==0 and n%7==0: print("Yes")else:print("No")答案第1頁,共2頁答案第1頁,共2頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫