【正文】
on中表達(dá)式相關(guān)知識(shí)。在 Python算數(shù)運(yùn)算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故選項(xiàng)C正確。30.B【詳解】本題主要考查Python程序的執(zhí)行。a=6,滿足a=0,執(zhí)行b=a+2=8,故在Python中運(yùn)行后,b的值是8,故本題選B選項(xiàng)。解析:B【詳解】本題主要考查Python程序的執(zhí)行。a=6,滿足a=0,執(zhí)行b=a+2=8,故在Python中運(yùn)行后,b的值是8,故本題選B選項(xiàng)。二、程序填空31.b*b4*a*c或b**24*a*c d=0 (d))/(2*a) print(方程無(wú)實(shí)數(shù)根) 【詳解】本題主要考查Python程序的調(diào)試。①此處將表達(dá)式b2-4ac的值賦給變量d,故填b*b4*a*c或b**24*a*c。②當(dāng)b2-4ac≥0,方程有兩個(gè)不同的實(shí)數(shù)根,故此處if判斷條件是d=0。③當(dāng)b2-4ac≥0時(shí),方程的兩個(gè)根分別為x1=(b+(d))/(2*a),x2=((d))/(2*a),(d))/(2*a)。④else部分,即x0時(shí),輸出“方程無(wú)實(shí)數(shù)根”,故此處填print(方程無(wú)實(shí)數(shù)根)。32.day=int(s[8:])或day=int(s[2:]) 0,month1 isleap and month2 year%4==0 and year%100!=0 or year%400==0 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①2020年是閏年,2月是29天,故“20200520”這一天是這一年的第31+29+31+30+20=141天。②變量s是字符串型,下標(biāo)從0開(kāi)始,此處是將輸入日期中的天取出來(lái)放到變量day中,可以使用切片操作:從左邊開(kāi)始截取,也可以從右邊截取,故此處填day=int(s[8:])或day=int(s[2:])。③通過(guò)循環(huán)將前month1個(gè)月的天數(shù)加起來(lái),故變量i的范圍是0到month1,故填0,month1。④變量isleap標(biāo)記是不是閏年,如果isleap值為真且month2,則sum需要遞增1,故填isleap and month2。⑤由題干閏年判斷條件,可知加框處應(yīng)改為year%4==0 and year%100!=0 or year%400==0。33.n=10 m=m+(n**(le2i))*a t=convert(s1) 24D 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①二進(jìn)制的權(quán)值是2,十進(jìn)制的權(quán)值是10,十六進(jìn)制的權(quán)值是16,此處是十進(jìn)制的情況,故填n=10。②二進(jìn)制、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的方法是“按權(quán)展開(kāi)、逐項(xiàng)相加”,從右往左加,變量i的初值等于0,故此處要變換為le2i,故此處填m=m+(n**(le2i))*a。③當(dāng)字符c是“+”、“”、“=”時(shí),則表明第一個(gè)運(yùn)算數(shù)已全部保存到變量s1中,此處需要將其轉(zhuǎn)化為十進(jìn)制保存到變量t中,故填t=convert(s1)。④1110B轉(zhuǎn)化為十進(jìn)制數(shù)是14D,30H轉(zhuǎn)化為十進(jìn)制數(shù)是48D,故1110B+10D30H=24D。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 【詳解】本題考查乘法運(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)置矩陣),然后讀取大寫(xiě)字符串s中的每個(gè)字符,并將每個(gè)字符轉(zhuǎn)換成相應(yīng)字母表中的位置存儲(chǔ)在數(shù)組a中。代碼①處為字符轉(zhuǎn)成相應(yīng)的字母表中位置值,下方代碼將a(i)輸出在列表框listl中,故此處應(yīng)獲取a(i)的值。根據(jù)題干描述“字符A~Z對(duì)應(yīng)數(shù)值1~26”,此處為將tmp獲取的字符通過(guò)Asc函數(shù)進(jìn)行轉(zhuǎn)換,語(yǔ)句為“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)按原長(zhǎng)度轉(zhuǎn)換成相應(yīng)大寫(xiě)字符,計(jì)算結(jié)果要求除以26取余,若直接寫(xiě)成c(i)Mod 26,則導(dǎo)致數(shù)值26的結(jié)果為0,因此需要先減1,Mod后再加1這樣的處理技巧,因此答案為“(c(i)1)Mod 26+1”。35.①n=len(a) sum+=1或sum=sum+1 6 【詳解】本題主要考查Python程序調(diào)試與執(zhí)行。①變量n用來(lái)保存數(shù)組a的長(zhǎng)度,使用len函數(shù),故此處填n=len(a)。②使用for循環(huán)統(tǒng)計(jì)出80分(含80)以上的人數(shù),用變量sum統(tǒng)計(jì)滿足條件的人數(shù),當(dāng)滿足if條件時(shí),sum變量遞增,故此處填sum+=1或sum=sum+1。③執(zhí)行上述程序段后,sum=6,故輸出的內(nèi)容是6。36.b/(2*a) 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①delta大于0,方程有兩個(gè)不同的解,delta等于0,方程有兩個(gè)相同的解,delta小于0,方程無(wú)解,故第一空填0。②delta=0,則方程有兩個(gè)相同的根,x=b/(2*a),故第二空填b/(2*a)。37.for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()【詳解】本題主要考查Python程序的執(zhí)行。九九乘法口訣表可以通過(guò)嵌套for循環(huán)實(shí)現(xiàn),內(nèi)層循環(huán)完一次,執(zhí)行print()換行,具體代碼如下:for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()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ì)語(yǔ)言實(shí)現(xiàn),可使用for循環(huán)以及列表,可以使用join函數(shù)按逗號(hào)分隔格式打印結(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.range(1,33) g+m+x==100 5*g+3*m+x/3 【詳解】本題考查的是算法中的經(jīng)典問(wèn)題。百雞百錢問(wèn)題是典型的枚舉算法解決,枚舉算法的關(guān)鍵就是找到問(wèn)題解決的條件和枚舉范圍。40.gender==’male’ n=220 n=210 【詳解】本題主要考查Python程序的調(diào)試與執(zhí)行。男最適宜運(yùn)動(dòng)心率=(220-年齡數(shù)-安靜心率)(60%~80%)+安靜心率,女最適宜運(yùn)動(dòng)心率=(210-年齡數(shù)-安靜心率)(60%~80%)+安靜心率。①故此處判斷如果性別是男性,n=220,如果是女性,則n=210,故填gender==’male’。②if條件滿足時(shí),n=220。③if條件不滿足,即else部分,n=210。