【正文】
本題主要考查Python表達(dá)式的運(yùn)算。邏輯運(yùn)算符and兩邊都為真,值才為真,否則為假。a=2,b=3,ab值為假,b=3值為真,故表達(dá)式ab and b=3的值是False,故本題選D選項(xiàng)。28.D【詳解】本題主要考查Python表達(dá)式的運(yùn)算。round(x,n)方法返回 x 的小數(shù)點(diǎn)四舍五入到n個(gè)數(shù)字,abs是求絕對(duì)值,已知a=2,b=10/3,則表達(dá)式round(b,1)+abs(解析:D【詳解】本題主要考查Python表達(dá)式的運(yùn)算。round(x,n)方法返回 x 的小數(shù)點(diǎn)四舍五入到n個(gè)數(shù)字,abs是求絕對(duì)值,已知a=2,b=10/3,則表達(dá)式round(b,1)+abs(a)=+2=,故本題選D選項(xiàng)。29.B【詳解】本題主要考查Python關(guān)系運(yùn)算符。用來(lái)表示不等于的符號(hào)是“!=”,“= =”表示等于,“=”表示大于等于,“=”表示小于等于,故本題選B選項(xiàng)。解析:B【詳解】本題主要考查Python關(guān)系運(yùn)算符。用來(lái)表示不等于的符號(hào)是“!=”,“= =”表示等于,“=”表示大于等于,“=”表示小于等于,故本題選B選項(xiàng)。30.C【詳解】本題主要考查計(jì)算機(jī)軟件系統(tǒng)。DOS、Unix、Linux均是計(jì)算機(jī)操作系統(tǒng),Python是程序開(kāi)發(fā)軟件,故本題選C選項(xiàng)。解析:C【詳解】本題主要考查計(jì)算機(jī)軟件系統(tǒng)。DOS、Unix、Linux均是計(jì)算機(jī)操作系統(tǒng),Python是程序開(kāi)發(fā)軟件,故本題選C選項(xiàng)。二、程序填空31.i=i+1 無(wú)數(shù)遍 100 無(wú)數(shù)遍 i!=0 或 i0 或其他等價(jià)答案 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①在程序1中,i+=1這句話(huà)的含義是i=i+1(即i遞增1)。②i的初值為1,while循環(huán)條件i101為真,會(huì)一直執(zhí)行循環(huán)體,無(wú)法跳出循環(huán)體執(zhí)行i+=1,故‘把這句話(huà)打印100遍 ’實(shí)際輸出了無(wú)數(shù)遍。③在程序2中,i的初值是100。④i=100,while i(即while 100)一直為真,會(huì)一直執(zhí)行循環(huán)體,無(wú)法跳出循環(huán)體執(zhí)行i=i2,故‘把這句話(huà)打印100遍 ’實(shí)際輸出了無(wú)數(shù)遍。⑤在程序2中,while i 的含義是i!=0 或 i0 或其他等價(jià)答案32.m=0 elift60: A 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①若員工在本月累計(jì)運(yùn)動(dòng)時(shí)間30小時(shí)以下,獎(jiǎng)勵(lì)0元,即m=0。②達(dá)到45但不足60小時(shí)獎(jiǎng)勵(lì)450元,故填elift60:。③10,不是有效值,故輸出信息為“輸入錯(cuò)誤”,故本題選A選項(xiàng)。33.①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))”。34.xingzuo[“小紅”] xingzuo[“小蘭”]=“水瓶座” xingzuo[“小貝”]=“雙子座” del xingzuo 【詳解】本題主要考查字典數(shù)據(jù)類(lèi)型。①字典數(shù)據(jù)類(lèi)型,可以通過(guò)檢索字典的鍵值得到對(duì)應(yīng)的值,即xingzuo[“小紅”]=‘處女座’,故第一空填xingzuo[“小紅”]。②將“小蘭”同學(xué)的星座修改為“水瓶座”,可以通過(guò)語(yǔ)句xingzuo[“小蘭”]=“水瓶座”。③同理添加小貝的信息為,xingzuo[“小貝”]=“雙子座”。④刪除該字典的表達(dá)式是del xingzuo。35.C A B 【詳解】本題主要考查隊(duì)列數(shù)據(jù)結(jié)構(gòu)及Python程序。①隊(duì)列是從隊(duì)頭出隊(duì),隊(duì)尾入隊(duì),使用pop函數(shù)出隊(duì),隊(duì)頭的索引值是0,(0),(0)。②隊(duì)列入隊(duì)使用append方法追加到隊(duì)列尾,(x),故選A選項(xiàng)。③同理,(y),故選B選項(xiàng)。36.range(1,33) g+m+x==100 5*g+3*m+x/3 【詳解】本題考查的是算法中的經(jīng)典問(wèn)題。百雞百錢(qián)問(wèn)題是典型的枚舉算法解決,枚舉算法的關(guān)鍵就是找到問(wèn)題解決的條件和枚舉范圍。37.9 1 i 2 末尾不換行,添加空格 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。(1)在第一行程序中(for i in range(1,10):),變量i的數(shù)據(jù)范圍為1到9。(2)同理,在第二行的程序中(for j in range(1,i+1):),變量j的數(shù)據(jù)范圍為1到i。(3)如果“%d”表示十進(jìn)制數(shù),那么%nd則表示n位寬的十進(jìn)制數(shù),%2d則表示2位寬的十進(jìn)制數(shù)。(4)第三行程序改為print(%d X %d=%2d%(i,j,i*j),end= ),則本題的輸出應(yīng)該是 ,i與j的位置進(jìn)行了交換,如1X2=2變?yōu)?X1=2。(5)如果最后一行的print()表示換行,那么end=””的功能是末尾不換行,添加空格。38.計(jì)算每一項(xiàng)的階乘 記錄階乘相加后的和 t記錄的是每一項(xiàng)階乘的結(jié)果,t*=n即t=t*n,t初值為1,能計(jì)算出每項(xiàng)的階乘結(jié)果,若為0,則每項(xiàng)的階乘結(jié)果都是0,不符合題意。 t=t*n s=s+t 【詳解】本題考查的是python語(yǔ)言編程。本題考查的是120階乘的求和。本題的重點(diǎn)是要先計(jì)算出對(duì)應(yīng)的每一項(xiàng)階乘的結(jié)果t,然后20項(xiàng)階乘的結(jié)果記錄在s中。在此過(guò)程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過(guò)程中,記錄每一項(xiàng)的階乘,s=0記錄階乘累加的和,t=1記錄每一項(xiàng)階乘的結(jié)果。每求一次階乘就要進(jìn)行一次求和,故語(yǔ)句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體內(nèi)。39.total=0 變量可任選(符合規(guī)則) for i in range(1,101): total=total+i*i total=total+i**2 print(total) 【詳解】本題主要考查Python程序的編寫(xiě)。①變量total用來(lái)統(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ì)算語(yǔ)句是total=total+i*i total=total+i**2。④最后用print()函數(shù)輸出計(jì)算結(jié)果total,故填print(total)。40.34 chick_num 【詳解】本題主要考查Python程序的執(zhí)行。①公雞數(shù)量的范圍120,for cock_num in range(1,21)表示變量cock_num的范圍是120,故此處填21。②母雞的數(shù)量可能為133,同理,故此處填34。③此處是按順序使用print()函數(shù)輸出公雞數(shù)量、母雞數(shù)量、小雞數(shù)量,故此處填chick_num。