【正文】
以r或R開頭的字符串表示原始字符串,故print(r\nGood)的運行結(jié)果是\nGood,故本題選C選項。二、程序填空31.0=s[i]=9 或s[i] in 0123456789” sum=sum+a[i]*(i+1) ydm=a[9] 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①變量s保存商品倉庫物品代碼,若s[i]是數(shù)字則進入循環(huán)判斷,否則跳過,故此處判斷條件是0=s[i]=9 或s[i] in 0123456789”。②校驗碼由前面9個X計算得到,計算方法為:從左邊開始,第1個數(shù)字乘以1加上第2個數(shù)字乘以2……依次類推,直到加上第9個數(shù)字乘以9,用變量sum統(tǒng)計,故此處填sum=sum+a[i]*(i+1)。③變量sdm是計算得到的校驗碼,變量ydm是輸入的校驗碼,此處需要將校驗碼a[9]賦給變量ydm,故填ydm=a[9]。32.② ⑤ ⑥ ④ 【詳解】本題主要考查算法及Python程序?qū)崿F(xiàn)。①jieba模塊是一個用于中文分詞的模塊,lcut方法直接返回list,流程圖中分詞后存入words中對應(yīng)的代碼是words=(txt),故填②。②流程圖中循環(huán)結(jié)構(gòu)對應(yīng)的是程序中的⑤。③對counts的值進行排序,可以使用sort方法實現(xiàn),對應(yīng)程序中的⑥。④使用循環(huán)結(jié)構(gòu)將值一一輸出,對應(yīng)程序中的④。33.D n=len(password) ch=password[i] x=n1+n2+n3 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①“12abcd5!”含有三類字符,則輸出結(jié)果為強,選D選項。②此處取密碼的長度,將其賦給變量n,len()是返回字符串的長度,故填n=len(password)。③ch是取密碼的每一位進行判斷,故此處填ch=password[i]。④當出現(xiàn)數(shù)字時n1=1,當出現(xiàn)字母時n2=1,當出現(xiàn)其他字符時n3=1,x用來統(tǒng)計有幾類字符,故此處填x=n1+n2+n3。34.①a(i)=Asc(tmp)64或a(i)=Asc(tmp)Asc(A)+1 ②i–m+1To i–m+k ③t=(c(i)–1) Mod 26+1 【詳解】本題考查乘法運算規(guī)則的理解以及轉(zhuǎn)置矩陣中行列數(shù)據(jù)的讀取。(1)根據(jù)算法描述,圖中(1)處的值為155+141+02+09=89。(2)程序先隨機生成數(shù)組b,其下標為1到kk,并以行列的形式顯示在列表框list2中(即為轉(zhuǎn)置矩陣),然后讀取大寫字符串s中的每個字符,并將每個字符轉(zhuǎn)換成相應(yīng)字母表中的位置存儲在數(shù)組a中。代碼①處為字符轉(zhuǎn)成相應(yīng)的字母表中位置值,下方代碼將a(i)輸出在列表框listl中,故此處應(yīng)獲取a(i)的值。根據(jù)題干描述“字符A~Z對應(yīng)數(shù)值1~26”,此處為將tmp獲取的字符通過Asc函數(shù)進行轉(zhuǎn)換,語句為“a(i)=Asc(tmp)64”,還可以是“a(i)=Asc(tmp)Asc(″A″)+1”。代碼②處為循環(huán)變量j的取值范圍,根據(jù)乘法規(guī)則,變量j的范圍是每一段中的1到k之間的值,需要獲取每一段的起始位置下標,結(jié)合上文得到的m值,可得循環(huán)變量的范圍是“im+1 To im十k”。代碼③處是將計算結(jié)果c(i)按原長度轉(zhuǎn)換成相應(yīng)大寫字符,計算結(jié)果要求除以26取余,若直接寫成c(i)Mod 26,則導(dǎo)致數(shù)值26的結(jié)果為0,因此需要先減1,Mod后再加1這樣的處理技巧,因此答案為“(c(i)1)Mod 26+1”。35.or i+1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①分析程序可知,程序采用枚舉的算法找出該數(shù),當不滿足條件時,i遞增繼續(xù)判斷,故i的初始值是0,第一空填0。②一個數(shù)除以3余2,除以5余3,除以7余2,此處是取不滿足情況時,i遞增,and取反變?yōu)閛r,故第二空填or。③同理第三空填i+1。36.n1 or n7 list[n1] 【詳解】本題主要考查Python程序調(diào)試。①輸入的數(shù)字不是在范圍(1至7)輸出“輸入錯誤!”,故此處if判斷條件是n1 or n7。②列表的索引是從0開始,即列表list索引是從0~6,而n的范圍是從1~7,故此處填list[n1]。37.s = input(39。input a string:39。)letter = 0 統(tǒng)計字母space = 0 統(tǒng)計空格digit = 0 統(tǒng)計數(shù)字other = 0 統(tǒng)計其他字符for c in s: if (): letter += 1 elif (): space += 1 elif (): digit += 1 else: other += 1print(字母:,letter,空格:, space,數(shù)字:,digit,其他字符:, other)【詳解】本題主要考查程序設(shè)計。題干要求可通過Python程序?qū)崿F(xiàn),使用for循環(huán)、多條件分支結(jié)構(gòu)。其中實現(xiàn)分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)可通過函數(shù)isalpha、isspace、isdigit來判斷統(tǒng)計,具體代碼如下:s = input(39。input a string:39。)letter = 0 統(tǒng)計字母space = 0 統(tǒng)計空格digit = 0 統(tǒng)計數(shù)字other = 0 統(tǒng)計其他字符for c in s: if (): letter += 1 elif (): space += 1 elif (): digit += 1 else: other += 1print(字母:,letter,空格:, space,數(shù)字:,digit,其他字符:, other)38.sum1=0sum2=0for i in range(1,101): if i%2==0 : sum1+=i else: sum2+=iprint(sum1,sum2)【詳解】本題主要考查程序設(shè)計??梢允褂肞ython程序設(shè)計語言實現(xiàn)題干要求,通過if條件分支結(jié)構(gòu)可以實現(xiàn)分別計算奇數(shù)的和、偶數(shù)的和,具體代碼如下:sum1=0sum2=0for i in range(1,101): if i%2==0 : sum1+=i else: sum2+=iprint(sum1,sum2)39.解析法或解析 A 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①由算法分析可知,本題采用的算法是解析法或解析。②3公里內(nèi)(含3公里),收費8元;超過3公里但未超過6公里部分,;超過6公里部分,故此處填3s=6,故選A選項。40.計算每一項的階乘 記錄階乘相加后的和 t記錄的是每一項階乘的結(jié)果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結(jié)果,若為0,則每項的階乘結(jié)果都是0,不符合題意。 t=t*n s=s+t 【詳解】本題考查的是python語言編程。本題考查的是120階乘的求和。本題的重點是要先計算出對應(yīng)的每一項階乘的結(jié)果t,然后20項階乘的結(jié)果記錄在s中。在此過程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過程中,記錄每一項的階乘,s=0記錄階乘累加的和,t=1記錄每一項階乘的結(jié)果。每求一次階乘就要進行一次求和,故語句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體內(nèi)。