【正文】
代碼“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))”。17.money*(1+rate) 將輸入的字符串年利率由百分制轉(zhuǎn)換為浮點(diǎn)數(shù) 循環(huán) 【詳解】本題主要考查Python程序設(shè)計(jì)。①round(x,n)函數(shù)是將x取n位,此處是計(jì)算當(dāng)前年份的收益,收益=本金+本金*年利率,故填money*(1+rate),并將結(jié)果取2位。②程序第2行的作用是將輸入的字符串年利率由百分制轉(zhuǎn)換為浮點(diǎn)數(shù),并賦值給變量 rate。③該程序主要是通過(guò)while實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。18.m%n r r=m%n n gcd(a,b) 【詳解】本題主要考查Python程序設(shè)計(jì)。①首先對(duì)m和n求余得到r,判斷r是否為0,故此處填m%n。②如果r為0則結(jié)束,否則更新m的值為n,n的值為r。③此處用更新后的m和n繼續(xù)求r,繼續(xù)判斷,故填r=m%n。④循環(huán)結(jié)束后當(dāng)r=0時(shí),n即為最大公約數(shù),故填n。⑤輸入a、b的值,使用函數(shù)gcd求a和b的最大公約數(shù),故填gcd(a,b)。19.參考答案1:for i in range(2,101): j=2 while j=i: if i%j==0: break j+=1 if ji: continue else: print(i,end= )參考答:2:for i in range(2,101): for j in range(2,i): if(i%j==0): break else:print(i)【詳解】本題考查是Python語(yǔ)言編程解決問(wèn)題。break 語(yǔ)句可以立即終止當(dāng)前循環(huán)的執(zhí)行,跳出當(dāng)前所在的循環(huán)結(jié)構(gòu)。無(wú)論是 while 循環(huán)還是 for 循環(huán),只要執(zhí)行 break 語(yǔ)句,就會(huì)直接結(jié)束當(dāng)前正在執(zhí)行的循環(huán)體。這就好比在操場(chǎng)上跑步,原計(jì)劃跑 10 圈,可是當(dāng)跑到第 2 圈的時(shí)候,突然想起有急事要辦,于是果斷停止跑步并離開(kāi)操場(chǎng),這就相當(dāng)于使用了 break 語(yǔ)句提前終止了循環(huán)。答案中代碼的實(shí)現(xiàn)過(guò)程見(jiàn)下圖:參考答案1:參考答案2:20.[,,] i in rate:(沒(méi)有冒號(hào)算錯(cuò)誤) money=round(money*(1+i),2) 100000 0 money0 或 money=0 money=round(money*,2) year=year+1 【詳解】本題主要考查Python程序語(yǔ)句。①此處是變量money的初始化,有5萬(wàn)元資金存入銀行,故填50000。②%、3%、3%、2%、%,用rate數(shù)組保存,故填[,,]。③通過(guò)for循環(huán),從rate數(shù)組中取值,故填i in rate:(沒(méi)有冒號(hào)算錯(cuò)誤)。④調(diào)用round()函數(shù),保留結(jié)果兩位小數(shù),故填money=round(money*(1+i),2)。⑤%的銀行保證收益型理財(cái)產(chǎn)品,故money的初始值為100000,故填100000。⑥year的初始值也為0,故填0。⑦循環(huán)條件是money大于0或大于等于0,故填money0 或 money=0。⑧%,每年理財(cái)贖回后,會(huì)提取2萬(wàn)元用作生活所需,余下資金仍購(gòu)買(mǎi)此種理財(cái),使用round函數(shù)保留2位小數(shù),故填money=round(money*,2)。⑨循環(huán)變量是year,此處year遞增進(jìn)入下一輪循環(huán),故填year=year+1。21.champion 3 i 【詳解】本題主要考查Python程序的執(zhí)行。①champion是選手編號(hào)列表,此處是循環(huán)讀取選手編號(hào),使用for i in champion,故此處填champion。②四人中有一人說(shuō)了假話(huà),即3個(gè)人說(shuō)真話(huà),即當(dāng)cond=3時(shí),則表示找到了誰(shuí)是冠軍,故此處填3。③當(dāng)cond是3時(shí),i即為冠軍,故此處填i。