【正文】
取出來,ab=abcd // 100,cd=abcd %100,故第一空填x=k/解析:D【詳解】本題主要考查Python程序的調(diào)試。檢測是否滿足關(guān)系(ab+cd)(ab+cd)=a,需要將ab與cd取出來,ab=abcd // 100,cd=abcd %100,故第一空填x=k//100,第二空判斷是否滿足(ab+cd)(ab+cd)=a,故第二空填(x+y)**2==k,故本題選D選項(xiàng)。二、程序填空31.C D B D C 【詳解】本題主要考查Python程序調(diào)試。①Python程序for循環(huán)格式是:for 變量 in range( ),故程序中①處應(yīng)填寫in,選C選項(xiàng)。②程序中x%4的作用是計(jì)算x除以4的余數(shù),選D選項(xiàng)。③colors=[red, green, blue, yellow],依次循環(huán)從colors中取顏色,故執(zhí)行此程序,繪制出圓形的總顏色數(shù)是4,故本題選B選項(xiàng)。④x的范圍是從0到99,故執(zhí)行此程序,繪制出圓形的總個(gè)數(shù)是100個(gè),選D選項(xiàng)。⑤此程序?qū)儆诔绦蛟O(shè)計(jì)結(jié)構(gòu)中的循環(huán)結(jié)構(gòu),選C選項(xiàng)。32.①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 【詳解】本題考查乘法運(yùn)算規(guī)則的理解以及轉(zhuǎn)置矩陣中行列數(shù)據(jù)的讀取。(1)根據(jù)算法描述,圖中(1)處的值為155+141+02+09=89。(2)程序先隨機(jī)生成數(shù)組b,其下標(biāo)為1到kk,并以行列的形式顯示在列表框list2中(即為轉(zhuǎn)置矩陣),然后讀取大寫字符串s中的每個(gè)字符,并將每個(gè)字符轉(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ù)進(jìn)行轉(zhuǎn)換,語句為“a(i)=Asc(tmp)64”,還可以是“a(i)=Asc(tmp)Asc(″A″)+1”。代碼②處為循環(huán)變量j的取值范圍,根據(jù)乘法規(guī)則,變量j的范圍是每一段中的1到k之間的值,需要獲取每一段的起始位置下標(biāo),結(jié)合上文得到的m值,可得循環(huán)變量的范圍是“im+1 To im十k”。代碼③處是將計(jì)算結(jié)果c(i)按原長度轉(zhuǎn)換成相應(yīng)大寫字符,計(jì)算結(jié)果要求除以26取余,若直接寫成c(i)Mod 26,則導(dǎo)致數(shù)值26的結(jié)果為0,因此需要先減1,Mod后再加1這樣的處理技巧,因此答案為“(c(i)1)Mod 26+1”。33.x cj 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①從鍵盤輸入10個(gè)學(xué)生的測試成績,range(a,b)的范圍是從a~b,但不包括b,故第一空填10。②每輸入一個(gè)數(shù)x,將其通過append函數(shù)加到列表cj中,故第二空填x。③求最大值用max函數(shù),求最小值用min函數(shù),故第三空填cj。34.max1 arr1[i] max1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。變量max1用來保存數(shù)組的最大值,初始值賦值為最小值32768,第一空填max1,通過for循環(huán)依次比較當(dāng)數(shù)組元素大于max1時(shí),更新max1的值為該元素繼續(xù)循環(huán)直到與所有元素比較完,第二空填arr1[i],最后輸出最大值是max1,故第三空填max1。35.for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i)【詳解】本題主要考查Python程序設(shè)計(jì)。可以通過for循環(huán)找出100以內(nèi)的素?cái)?shù),用i依次整數(shù)2~i1,如果能整除表明i不是素?cái)?shù),否則i為質(zhì)數(shù),具體代碼如下:for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i)36.c=0for i in range(1,101): if i%2==0: c=c+1print(c)【詳解】本題主要考查程序設(shè)計(jì)。題干要求可通過Python程序設(shè)計(jì)實(shí)現(xiàn),通過for循環(huán)以及if判斷條件可統(tǒng)計(jì)出100以內(nèi)的偶數(shù)個(gè)數(shù),具體代碼如下:c=0for i in range(1,101): if i%2==0: c=c+1print(c)37.【詳解】本題主要考查程序設(shè)計(jì)與實(shí)現(xiàn)??梢允褂肞ython程序?qū)崿F(xiàn)題干要求:38.l=[]for i in range(2000, 3201): if (i%7==0) and (i%5!=0): (str(i))print (39。,39。.join(l))【詳解】本題主要考查程序設(shè)計(jì)。由題干要求,可以使用Python程序設(shè)計(jì)語言實(shí)現(xiàn),可使用for循環(huán)以及列表,可以使用join函數(shù)按逗號分隔格式打印結(jié)果,join函數(shù)連接字符串?dāng)?shù)組,將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個(gè)新的字符串,具體代碼如下:l=[]for i in range(2000, 3201): if (i%7==0) and (i%5!=0): (str(i))print (39。,39。.join(l))39.layer = int(input(請輸入需要打印的層數(shù):))for x in range(1,layer+1): for y in range (1,x+1): print(*, end=) print()【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。range可以生成一個(gè)整數(shù)列表,列表范圍根據(jù)接收的layer來確定。外層循環(huán)用于確定輸出行數(shù),內(nèi)層循環(huán)用于控制每行符號個(gè)數(shù)?!军c(diǎn)睛】40.n r n 【詳解】本題考查的是Python循環(huán)語句。輾轉(zhuǎn)相除法:用較大數(shù)除以較小數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。如果是求兩個(gè)數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個(gè)數(shù)的最大公約數(shù)。 由n = min(x,y) 可知最小值為n,故①處為n,由r = m%n 可知余數(shù)為r,故②處為r,最后的除數(shù)是n(即最大公約數(shù)為n),故③處為n。