【正文】
循環(huán)體執(zhí)行i+=1,故‘把這句話打印100遍 ’實際輸出了無數(shù)遍。③在程序2中,i的初值是100。④i=100,while i(即while 100)一直為真,會一直執(zhí)行循環(huán)體,無法跳出循環(huán)體執(zhí)行i=i2,故‘把這句話打印100遍 ’實際輸出了無數(shù)遍。⑤在程序2中,while i 的含義是i!=0 或 i0 或其他等價答案17.是 k%2==0或(k+1)%2==1或(k1)%2==1 ans+code[p] ans 【詳解】本題主要考查Python程序的執(zhí)行與調試。①若接收到的二進制碼為“101011011”,1的個數(shù)有6個,則傳輸過程存在差錯。②變量k統(tǒng)計1的個數(shù),若k是偶數(shù)則表明傳輸錯誤,否則傳輸正確,故此處填k%2==0或(k+1)%2==1或(k1)%2==1。③如果p是1~9之間的數(shù)字,則直接將p拼接到ans中,否則從字典code中取對應的字母,故此處填ans+code[p]。④變量ans保存轉換后的十六進制,故此處填ans。18.C D B D C 【詳解】本題主要考查Python程序調試。①Python程序for循環(huán)格式是:for 變量 in range( ),故程序中①處應填寫in,選C選項。②程序中x%4的作用是計算x除以4的余數(shù),選D選項。③colors=[red, green, blue, yellow],依次循環(huán)從colors中取顏色,故執(zhí)行此程序,繪制出圓形的總顏色數(shù)是4,故本題選B選項。④x的范圍是從0到99,故執(zhí)行此程序,繪制出圓形的總個數(shù)是100個,選D選項。⑤此程序屬于程序設計結構中的循環(huán)結構,選C選項。19.D n=len(password) ch=password[i] x=n1+n2+n3 【詳解】本題主要考查Python程序的執(zhí)行與調試。①“12abcd5!”含有三類字符,則輸出結果為強,選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。20.①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ī)則的理解以及轉置矩陣中行列數(shù)據(jù)的讀取。(1)根據(jù)算法描述,圖中(1)處的值為155+141+02+09=89。(2)程序先隨機生成數(shù)組b,其下標為1到kk,并以行列的形式顯示在列表框list2中(即為轉置矩陣),然后讀取大寫字符串s中的每個字符,并將每個字符轉換成相應字母表中的位置存儲在數(shù)組a中。代碼①處為字符轉成相應的字母表中位置值,下方代碼將a(i)輸出在列表框listl中,故此處應獲取a(i)的值。根據(jù)題干描述“字符A~Z對應數(shù)值1~26”,此處為將tmp獲取的字符通過Asc函數(shù)進行轉換,語句為“a(i)=Asc(tmp)64”,還可以是“a(i)=Asc(tmp)Asc(″A″)+1”。代碼②處為循環(huán)變量j的取值范圍,根據(jù)乘法規(guī)則,變量j的范圍是每一段中的1到k之間的值,需要獲取每一段的起始位置下標,結合上文得到的m值,可得循環(huán)變量的范圍是“im+1 To im十k”。代碼③處是將計算結果c(i)按原長度轉換成相應大寫字符,計算結果要求除以26取余,若直接寫成c(i)Mod 26,則導致數(shù)值26的結果為0,因此需要先減1,Mod后再加1這樣的處理技巧,因此答案為“(c(i)1)Mod 26+1”。21.for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i)【詳解】本題主要考查Python程序設計??梢酝ㄟ^for循環(huán)找出100以內的素數(shù),用i依次整數(shù)2~i1,如果能整除表明i不是素數(shù),否則i為質數(shù),具體代碼如下:for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i