資源簡介 必修一第四章程序設(shè)計基礎(chǔ)章末復(fù)習(xí)習(xí)題(一) 一、選擇題(本大題共11小題) for i in range(2,11,2): print(i,end=““) 上面程序運行結(jié)果是( ?。?A. 2?4?6?8?9 B. 2?3?4?5?6 C. 2?4?6?8?10 D. 2?4?5?8?10 E. 2?4?6?8?10 c=0 for i in range(1,26): If i%2==0: C=c+1 Print(c) 上面程序運行結(jié)果是( ) A. 12 B. 13 C. 14 D. 15 sum=0 for i in range(1,11): sum+=i print(“the result:”,sum) 上面程序運行結(jié)果是( ?。? A. 53 B. 54 C. 55 D. 56 以下python程序段運行后,y的值是( ) x=3 if x>3: y=2*x else: y=3*x+1 print(y) A. 10 B. 5 C. 25 D. 26 有python程序如下: S=input( ?。? print(S*3) 運行后通過鍵盤輸入6,則運算結(jié)果是( ) A. 666 B. SSS C. 18 D. S*3 以下python程序段運行后,s的值是( ?。? n=0 s=0 while s<=10: n=n+3 s=s+n print (s) A. 0 B. 3 C. 18 D. 30 在編寫python程序時縮進(jìn)的作用是()。 A. 讓程序更美觀 B. 只在for循環(huán)中使用 C. 只在if語句中使用 D. 用來界定代碼塊 下列與數(shù)學(xué)表達(dá)式對應(yīng)的python表達(dá)式,正確的是(??? )。 A. ( - b + math. sqrt (b * b – 4 * a * c)) /a * a B. - b + math. sqrt (b * b – 4 * a * c) /2*a C. ( -b + math. sqrt (b * 2 – 4 * a * c)) /(2 * a) D. ( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a) 在下面的python程序中,變量b和c的值為()。 A. b為6,c為6 B. b為6,c為8 C. b為8,c為8 D. b為8,c為6 運行Python程序的過程中出現(xiàn)了如下圖錯誤提示,原因是()。 A. 變量名51study太長 B. 應(yīng)該寫成"chinese" =51study C. “chinese”應(yīng)該寫成“china?s” D. 變量名51study不符合python語言規(guī)范,變量名不能以數(shù)字開頭 以下python程序段運行后,x和st的值分別是( ) x=123+678 st=“123“+“678“ A. 123678“123678“ B. 123678“801“ C. 801“123678“ D. 801“801“ 二、非選擇題(本大題共3小題) 利用for循環(huán),分別計算1--100中奇數(shù)的和、偶數(shù)的和。 sum1=0 sum2=0 for i in range(1,101): if i%2==0: sum1+=i else: sum2+=i print(sum1,sum2) 若兩個素數(shù)之差為2,則該對素數(shù)稱為雙胞胎數(shù),如3,5就是一對雙胞胎數(shù)。編寫python程序,實現(xiàn)如下功能:輸入n的值,統(tǒng)計顯示n以內(nèi)的所有雙胞胎數(shù)。程序運行界面如圖所示: 403415536576000實現(xiàn)上述功能的程序如下,請在劃線處填入合適的代碼。 defisprime(x): foriinrange(2,x): if ① ______ : returnFalse returnTrue n=int(input(“請輸入一個正整數(shù)n:”)) c=0 k=3 whilek<=n-2: ifisprime(k)and ② ______ : print(k,k+2) ③ ______ k=k+1 print(“共有”+str(c)+“對雙胞胎數(shù)”) 編寫一個程序,它將找到所有這些數(shù)字,可被7整除,但不是5的倍數(shù),2000年至3200年(包括在內(nèi))。得到的數(shù)字應(yīng)按逗號分隔的順序打印在一行上。 提示:考慮使用range(#begin,#end) l=[] for i in range(2000,3201): if (i%7==0)and (i%5!=0): l.append(str(i)) print (','.join(1)) 答案和解析 1.【答案】C 【解析】for?i?in?range(2,11,2):i的取值范圍從2----10步長為2,所以取值為 2?4?6?8?10 故選:C。 2.【答案】A 【解析】c初值為0,i值range(1,26)即1,2,3…25。循環(huán)體內(nèi)如果i是偶數(shù),則把c加1,即統(tǒng)計偶數(shù)個數(shù)。共12個。 故選:A。 range( )函數(shù)是前閉后開區(qū)間,range(1,26)即1,2,3…25。 i%2==0,i對2 取余等于0即i為偶數(shù)。 本題考查range函數(shù)和循環(huán)結(jié)構(gòu)。 3.【答案】C 【解析】sum初值為0。for循環(huán),i值為1到10的正整數(shù),循環(huán)體為sum+=i即計算所有i相加之和,等于55. 故選:C。range( )函數(shù)是前閉后開區(qū)間,range(1,11)表示[1,2,3,4,5,6,7,8,9,10]。 本題考查python循環(huán)結(jié)構(gòu)。 4.【答案】A 【解析】已知x=3? 判斷?x>3不成立:執(zhí)行else:y=3*x+1=9+1=10 故選:A。 本題考查的python中的選擇語句。Python中條件選擇語句的關(guān)鍵字為:if、elif、else這三個。其中elif和else語句塊是可選的。對于if和elif只有condition為True時,該分支語句才執(zhí)行,只有當(dāng)if和所有的elif的condition都為False時,才執(zhí)行else分支。簡單的選擇語句的考查,難度不大。 5.【答案】A 【解析】input( )函數(shù)是通過鍵盤輸入,默認(rèn)將其以字符類型返回。故s=“6“,輸出“s*3”=“666“。 故選:A。 input( ?。┖瘮?shù)是通過鍵盤輸入,默認(rèn)將其以字符類型返回。本題考查Python程序的執(zhí)行。 6.【答案】C 【解析】n=0,s=0,循環(huán)條件s<=10,則循環(huán)結(jié)束時n=0+3+3+3=9,s=0+3+6+9=18。所以程序執(zhí)行后,S值為18。 故選:C。 n值分別為0、3、6、9、…s為各個n之和,循環(huán)條件s小于等于10,注意加到6時s等于9符合條件還可以循環(huán)一次,所以最后為3、6、9的和等于18。本題主要考查Python中的條件循環(huán)。 7.【答案】D 【解析】在編寫python程序時縮進(jìn),使得代碼非常整齊規(guī)范,賞心悅目,提高了可讀性,因此作用是用來界定代碼塊。 ?? 8.【答案】D sqrt()求平方根,乘法運算符為“*”,除法為“/”,嵌套函數(shù)均使用小括號。表示為( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a)。 ??????故選D。 9.【答案】C 針對 a=b=c=8 這種賦值方式,其實是 a=8, b=a, c=a,因此c=8,b=8. ???????故選C。 10.【答案】D 報錯內(nèi)容是“語法錯誤:無效語法”,變量名51study,數(shù)字不能作為變量名的開頭,故D項正確。 ???????故選D。 11.【答案】C 【解析】x=123+678=801 st=“123“+“678“=“123678”中“+”表示字符串的連故選:C。 本題考查的知識點是python中能夠直接處理的數(shù)據(jù)類型。Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序中,整數(shù)的表示方法和數(shù)學(xué)上的寫法一模一樣,例如:1,100,-8080,0,等等;浮點數(shù)也就是小數(shù),之所以稱為浮點數(shù),是因為按照科學(xué)記數(shù)法表示時,一個浮點數(shù)的小數(shù)點位置是可變的,比如,1.23x10^9和12.3x10^8是相等的;字符串是以''或''括起來的任意文本,比如'abc','xyz'等等。請注意,''或''本身只是一種表示方式,不是字符串的一部分;布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來。簡單的能夠處理的數(shù)據(jù)類型,幾種數(shù)據(jù)類型都需要掌握。 12.【答案】代碼解析注釋如下: sum1=0#存儲偶數(shù)和 sum2=0#存儲奇數(shù)和 for?i?in?range(1,101):#分別計算【1,100】中的偶數(shù)和、奇數(shù)和 ??? if?i%2==0:#若i是偶數(shù),則把偶數(shù)加到sum1中 ???????sum1+=i ??? else:#若i是奇數(shù),則把奇數(shù)加到sum2中 ?????? sum2+=i print(sum1,sum2)#輸出結(jié)果,偶數(shù)和sum1的值為2550,奇數(shù)和sum2的值為2500 【解析】本題主要考查Python的循環(huán)結(jié)構(gòu)熟練掌握python的循環(huán)結(jié)構(gòu) 13.【答案】x%i==0或x//==x/i,isprime(k+2)或isprime(k+2)==True,c=c+1或c+=1 【解析】(1)isprime(x)函數(shù)判斷x是不是素數(shù)。此處通過for循環(huán)判斷(用x依次除i,看能不能整除,i的范圍從2到x),故填x%i==0或x//==x/i。(2)此處判斷相差2的兩個數(shù)是不是素數(shù),若是,則輸出這兩個數(shù),故此處填isprime(k+2)或isprime(k+2)==True。(3)c用來統(tǒng)計雙胞胎數(shù)的對數(shù),若滿足是雙胞胎數(shù)的條件,故此處填c=c+1或c+=1。 故答案為:(1)x%i==0或x//==x/i(2)isprime(k+2)或isprime(k+2)==True(3)c=c+1或c+=1 先理解程序。程序中先定義了isprime(x)函數(shù)(判斷x是否是素數(shù)),用for循環(huán)尋找是否有因數(shù),用i來表示因數(shù),第一個空就是填整除的意思,可以用求余為0,也可以用整除得數(shù)等于除的商。輸出k和k+2則前面條件一定是,是雙胞胎數(shù),是素數(shù),直接調(diào)用isprime(x)函數(shù)即可。最后print( )語句是輸出共有c對雙胞胎數(shù),可見c表示其對數(shù)。 本題考查Python程序的執(zhí)行和調(diào)試。 14. 【答案】join函數(shù)連接字符串?dāng)?shù)組,將字符串、元組、列表中的元素以指定的字符連接生成一個新的字符串,根據(jù)題干要求可以使用for循環(huán)以及列表,可以使用join函數(shù)按逗號分隔格式打印即可。 【解析】本題考查的編寫程序。程序的編寫難度較大,使用range( ?。┒xi的取值范圍,然后利用if判斷語句可被7整除,但不是5的倍數(shù),最后利用join函數(shù)打印出結(jié)果即可。 題目難度稍大,根據(jù)要求編寫程序。 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫