【正文】
兔子有%s只,雞有%s只%(x,y))是if語句中的語句塊,應(yīng)縮進?!驹斀狻勘绢}考查的是Python調(diào)試。本題程序錯誤如下:錯誤1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,沒取到23,故應(yīng)改為: range(1,24)錯誤2:縮進錯誤,y=35x、if 4*x+2*y==94:是for語句中的語句塊,應(yīng)縮進。print(兔子有%s只,雞有%s只%(x,y))是if語句中的語句塊,應(yīng)縮進。調(diào)試完最終輸出:兔子有12只,雞有23只。17.是 k%2==0或(k+1)%2==1或(k1)%2==1 ans+code[p] ans 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①若接收到的二進制碼為“101011011”,1的個數(shù)有6個,則傳輸過程存在差錯。②變量k統(tǒng)計1的個數(shù),若k是偶數(shù)則表明傳輸錯誤,否則傳輸正確,故此處填k%2==0或(k+1)%2==1或(k1)%2==1。③如果p是1~9之間的數(shù)字,則直接將p拼接到ans中,否則從字典code中取對應(yīng)的字母,故此處填ans+code[p]。④變量ans保存轉(zhuǎn)換后的十六進制,故此處填ans。18.total60000 every_year* 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①由題干可知,while循環(huán)條件是總銷量total小于60000,故第一空填total60000。②平均每年的銷量比上一年增加68%,即every_year + =every_year*,故第二空填every_year*。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用來標記是否有連續(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中,同時賦值flag為False,表示當前沒有連續(xù)字符構(gòu)成的升序段,需要繼續(xù)判斷尋找,故填flag = False。20.將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year And year%100 != 0 or year 【詳解】本題主要考查Python程序設(shè)計。①input接收的數(shù)據(jù)類型是字符串型,該語句表示將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除,故第二、三、四空分別填② And ③year%100 != 0 ④or ⑤最后輸出打印某一年是否是閏年,需要將year轉(zhuǎn)換為字符型。21.A C 【詳解】本題主要考查Python程序設(shè)計。①此處將n取余2,用append函數(shù)將值追加到列表result中,故此處填n%2,選A選項。②當n大于0時,n整除2繼續(xù)循環(huán),循環(huán)結(jié)束使用reverse函數(shù),將result列表中的元素逆轉(zhuǎn),故此處填n//2,選C選項。