【正文】
文件的命令是import,如import random。②(0,20)生成的隨機(jī)數(shù)的范圍是0~19(包括0和19)。③(0,20)這么長的句子,可以修改程序中的第一行為import random as r(給random取個(gè)簡單的別名)。④while True 的作用是讓程序無限循環(huán)。⑤如果while True造成程序無法停止,我們可以在程序中添加一行break。(滿足條件后,執(zhí)行break??梢蕴鲅h(huán))。18.①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)字母表中的位置存儲(chǔ)在數(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”。19.k=len(s) ord(s[i])==ord(s[i+1])1 and flag==False 或 ord(s[i])==ord(s[i+1])1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag flag = False 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①第一空將輸入的字符串s的長度賦給變量k,故填k=len(s)。②flag用來標(biāo)記是否有連續(xù)字符構(gòu)成的升序段,第二空判斷相鄰位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag為False,故填ord(s[i])==ord(s[i+1])1 and flag==False 或 ord(s[i])==ord(s[i+1])1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag。③如果不滿足if判斷條件,則需要將該字符加到變量result中,同時(shí)賦值flag為False,表示當(dāng)前沒有連續(xù)字符構(gòu)成的升序段,需要繼續(xù)判斷尋找,故填flag = False。20.N=int(input(請輸入一個(gè)數(shù)))for i in range(1,N+1):if(i%7==0 or i/10==7):print(i,end= )【詳解】本題考查Python語言編程解決實(shí)際問題。本題要找到能被7整除或者十位是7的數(shù),并且這兩個(gè)條件是或的關(guān)系,其關(guān)鍵代碼為i%7==0 or i/10==7。程序運(yùn)行代碼詳見下圖:21.total=0 變量可任選(符合規(guī)則) for i in range(1,101): total=total+i*i total=total+i**2 print(total) 【詳解】本題主要考查Python程序的編寫。①變量total用來統(tǒng)計(jì)最終的計(jì)算結(jié)果,其初始值為0,故填total=0 變量可任選(符合規(guī)則)。②求1+22+32+……+1002的結(jié)果,用for循環(huán)結(jié)構(gòu),變量i的范圍是從1到100,故填for i in range(1,101):。③計(jì)算語句是total=total+i*i total=total+i**2。④最后用print()函數(shù)輸出計(jì)算結(jié)果total,故填print(total