【正文】
’實(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.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)。33.or i+1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①分析程序可知,程序采用枚舉的算法找出該數(shù),當(dāng)不滿(mǎn)足條件時(shí),i遞增繼續(xù)判斷,故i的初始值是0,第一空填0。②一個(gè)數(shù)除以3余2,除以5余3,除以7余2,此處是取不滿(mǎn)足情況時(shí),i遞增,and取反變?yōu)閛r,故第二空填or。③同理第三空填i+1。34.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的長(zhǎng)度賦給變量k,故填k=len(s)。②flag用來(lái)標(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。③如果不滿(mǎn)足if判斷條件,則需要將該字符加到變量result中,同時(shí)賦值flag為False,表示當(dāng)前沒(méi)有連續(xù)字符構(gòu)成的升序段,需要繼續(xù)判斷尋找,故填flag = False。35.total=0 i%3 == 2 and i%5 == 3 and i%7 == 2 a[j] 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①變量total用來(lái)統(tǒng)計(jì)有多少種情況,初始值為0,第一空填total=0。②當(dāng)他們分成三人一組時(shí),發(fā)現(xiàn)最后多出兩個(gè);當(dāng)他們分成五人一組時(shí),發(fā)現(xiàn)最后多出三個(gè);當(dāng)他們分成七人一組時(shí),發(fā)現(xiàn)最后多出兩個(gè),即if判斷條件為i%3 == 2 and i%5 == 3 and i%7 == 2,滿(mǎn)足if條件時(shí),將該值加到列表a中,故第二空填i%3 == 2 and i%5 == 3 and i%7 == 2。③最后通過(guò)for循環(huán)輸出所有可能的數(shù),用變量j控制,故第三空填a[j]。36.將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year And year%100 != 0 or year 【詳解】本題主要考查Python程序設(shè)計(jì)。①input接收的數(shù)據(jù)類(lèi)型是字符串型,該語(yǔ)句表示將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除,故第二、三、四空分別填② And ③year%100 != 0 ④or ⑤最后輸出打印某一年是否是閏年,需要將year轉(zhuǎn)換為字符型。37.B C C C D 【詳解】本題主要考查二分查找算法及Python程序?qū)崿F(xiàn)。①二分查找的循環(huán)條件是left<=right,故選B選項(xiàng)。②此處是取中間值,需要整除2,故填(left+right)//2,故選C選項(xiàng)。③如果mid對(duì)應(yīng)的列表值是1000,表示已找到,則用break跳出循環(huán),選C選項(xiàng)。④如果mid對(duì)應(yīng)的列表值小于1000,則需要更新left的值為mid+1繼續(xù)循環(huán),選C選項(xiàng)。⑤否則更新right的值為mid1,選D選項(xiàng)。38.c=0print(能同時(shí)被3或5整除的數(shù)是:,end= )for i in range(1,101): if i%3==0 and i%5==0: c+=1 print(i,end= )print()print(能同時(shí)被3或5整除的個(gè)數(shù)是:+str(c))【詳解】本題主要考查Python程序設(shè)計(jì)。設(shè)計(jì)100以?xún)?nèi)的數(shù)中能同時(shí)被3或5整除的個(gè)數(shù),使用for循環(huán)變量i的范圍是從1~99,用變量c統(tǒng)計(jì)能同時(shí)被3或5整除的個(gè)數(shù),如果滿(mǎn)足if判斷條件,則變量c遞增,循環(huán)完輸出c的值,具體代碼及運(yùn)行結(jié)果如下:39.a(chǎn)=int(input( 請(qǐng)輸入數(shù) a:))b=int(input( 請(qǐng)輸入數(shù) b:))if ab: t=a a=b b=t print(用戶(hù)輸入的數(shù)按小到大排序結(jié)果是: , a, b)else :print(原樣輸出 ,a,b)【詳解】本題主要考查Python程序設(shè)計(jì)。使用input函數(shù)接收兩個(gè)數(shù)a和b,用if條件分支結(jié)構(gòu)判斷a和b的大小,如果a大于b,則交換,否則原樣輸出,具體代碼如下:a=int(input( 請(qǐng)輸入數(shù) a:))b=int(input( 請(qǐng)輸入數(shù) b:))if ab: t=a a=b b=t print(用戶(hù)輸入的數(shù)按小到大排序結(jié)果是: , a, b)else :print(原樣輸出 ,a,b)40.pw=input(請(qǐng)輸入密碼:)password=123456i=1while(i=3): if pw==password: print(恭喜你進(jìn)入系統(tǒng)!) break else: print(請(qǐng)重新嘗試:,i) pw = input(請(qǐng)輸入密碼:) i=i+1【詳解】本題主要考查程序設(shè)計(jì)。可以通過(guò)Python程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)題干要求,可以通過(guò)while循環(huán)控制三次機(jī)會(huì),使用if條件分支結(jié)構(gòu)判斷是否輸入正確,具體代碼如下:pw=input(請(qǐng)輸入密碼:)password=123456i=1while(i=3): if pw==password: print(恭喜你進(jìn)入系統(tǒng)!) break else: print(請(qǐng)重新嘗試:,i) pw = input(請(qǐng)輸入密碼:) i=i+1