【正文】
選項(xiàng)C,X,Y=Y,X這是交換語(yǔ)句,合法;選項(xiàng)D,X+=Y相當(dāng)于X=X+Y,故本題選B。28.C【詳解】本題考查的是python中的運(yùn)算符相關(guān)知識(shí)。在python中%表示取模,返回除法的余數(shù),故5%2 =1,選項(xiàng)C正確。解析:C【詳解】本題考查的是python中的運(yùn)算符相關(guān)知識(shí)。在python中%表示取模,返回除法的余數(shù),故5%2 =1,選項(xiàng)C正確。29.B【詳解】本題主要考查Python的運(yùn)算。Python中冪運(yùn)算(指數(shù)運(yùn)算)的運(yùn)算符為**,故本題選B選項(xiàng)。解析:B【詳解】本題主要考查Python的運(yùn)算。Python中冪運(yùn)算(指數(shù)運(yùn)算)的運(yùn)算符為**,故本題選B選項(xiàng)。30.B【詳解】本題考查Python特點(diǎn)的相關(guān)知識(shí)點(diǎn)Python是一門面向?qū)ο?、可讀性好、開源的語(yǔ)言。因?yàn)槭歉呒?jí)語(yǔ)言,不具備運(yùn)行效率高的特點(diǎn)。故本題選B選項(xiàng)解析:B【詳解】本題考查Python特點(diǎn)的相關(guān)知識(shí)點(diǎn)Python是一門面向?qū)ο?、可讀性好、開源的語(yǔ)言。因?yàn)槭歉呒?jí)語(yǔ)言,不具備運(yùn)行效率高的特點(diǎn)。故本題選B選項(xiàng)二、程序填空31.①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對(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)大寫字符,計(jì)算結(jié)果要求除以26取余,若直接寫成c(i)Mod 26,則導(dǎo)致數(shù)值26的結(jié)果為0,因此需要先減1,Mod后再加1這樣的處理技巧,因此答案為“(c(i)1)Mod 26+1”。32.①i =(Len(s)\8)*8 ②a(start + c((i1)Mod 8+1)) ③ss = convert(Asc(b(i))) 【詳解】(1)“A”的ASCII碼值是65,用二進(jìn)制表示為0100001,m=35,用二進(jìn)制表示為0010001,位做異或運(yùn)算,相同為0,相異為1,可得:01100010。(2)①以8個(gè)數(shù)據(jù)為一段進(jìn)行分段處理,個(gè)數(shù)等于8的數(shù)據(jù)段需進(jìn)行位置變換,故需進(jìn)行位置變換的數(shù)據(jù)段有(Len(s)\8)個(gè),數(shù)據(jù)個(gè)數(shù)為i =(Len(s)\8)*8。②位置變換方法:加密后數(shù)據(jù)段的第ⅰ個(gè)元素=原數(shù)據(jù)段的第c(i)個(gè)元素,其中i=1,2,……,8,i表示段內(nèi)位置。代碼“Do While i =(Len(s)\8)*8”中的i對(duì)應(yīng)段內(nèi)位置可為“1+(i1)Mod8”,start表示該數(shù)據(jù)段第一個(gè)數(shù)據(jù)的前個(gè)位置,故數(shù)組b第i位置元素是來(lái)自數(shù)組a第start + c(1+(i*1)Mod 8)位置,故②處代碼為“a(start + c(i1)Mod8+1))”。③位置變換后的數(shù)據(jù)需轉(zhuǎn)二進(jìn)制,再按位做異或運(yùn)算,故③處的代碼是調(diào)用自定義函數(shù)convert把b(i)中字符的ASCII碼轉(zhuǎn)二進(jìn)制后存入變量ss,故此處代碼為“ss = convert(Asc(b(i))”。33.i%j==0 t=i t=t//10 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①此處是處理從2開始到i開方加1,若能整除i則表明i不是素?cái)?shù),否則直到循環(huán)結(jié)束,表明i是素?cái)?shù),故此處填i%j==0。②若i是素?cái)?shù),則將變量i賦給變量t,并通過(guò)while循環(huán)將t的每一位取出來(lái)并加到summ中,故此處填t=i。③同理此處取出個(gè)位數(shù)后,更新t的值繼續(xù)循環(huán),故此處填t=t//10。34.順序結(jié)構(gòu) pi= r=float(input(“請(qǐng)輸入半徑r:”)) 整型和實(shí)數(shù)型不能直接運(yùn)算,結(jié)果會(huì)有誤差 h=float(input(“請(qǐng)輸入高h(yuǎn):”)) 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①分析程序可知,解決問(wèn)題的程序用到的控制結(jié)構(gòu)有:順序結(jié)構(gòu)。②圓周率定義為:,故第二空填pi=。③r=float(input(“請(qǐng)輸入半徑r:”)) 整型和實(shí)數(shù)型不能直接運(yùn)算,結(jié)果會(huì)有誤差 h=float(input(“請(qǐng)輸入高h(yuǎn):”))。35.max1 arr1[i] max1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。變量max1用來(lái)保存數(shù)組的最大值,初始值賦值為最小值32768,第一空填max1,通過(guò)for循環(huán)依次比較當(dāng)數(shù)組元素大于max1時(shí),更新max1的值為該元素繼續(xù)循環(huán)直到與所有元素比較完,第二空填arr1[i],最后輸出最大值是max1,故第三空填max1。36.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()37.str = input(請(qǐng)輸入要轉(zhuǎn)換成大寫的數(shù)據(jù):)c=len(str)for i in range(0,c):print(str[i].upper(),end= )【詳解】本題主要考查程序設(shè)計(jì)。題干要求可使用Python程序設(shè)計(jì)實(shí)現(xiàn),通過(guò)upper函數(shù)可以將輸入數(shù)據(jù)轉(zhuǎn)換成大寫并輸出,具體代碼如下:str = input(請(qǐng)輸入要轉(zhuǎn)換成大寫的數(shù)據(jù):)c=len(str)for i in range(0,c):print(str[i].upper(),end= )38.range(1,33) g+m+x==100 5*g+3*m+x/3 【詳解】本題考查的是算法中的經(jīng)典問(wèn)題。百雞百錢問(wèn)題是典型的枚舉算法解決,枚舉算法的關(guān)鍵就是找到問(wèn)題解決的條件和枚舉范圍。39.N=int(input(請(qǐng)輸入一個(gè)數(shù)))for i in range(1,N+1):if(i%7==0 or i/10==7):print(i,end= )【詳解】本題考查Python語(yǔ)言編程解決實(shí)際問(wèn)題。本題要找到能被7整除或者十位是7的數(shù),并且這兩個(gè)條件是或的關(guān)系,其關(guān)鍵代碼為i%7==0 or i/10==7。程序運(yùn)行代碼詳見(jiàn)下圖:40.y y show( ) 【詳解】本題主要考查Python程序繪制圖像。 ①繪制y=x22x+ 1的圖像,故此處填y。 ②根據(jù)橫縱坐標(biāo)x和y繪制圖,故此處填y。 ③此處調(diào)用顯示函數(shù)show( ),故填show()