【正文】
式。不需要縮進的代碼頂行寫,前面不能留空白;縮進可以用 tab 鍵實現(xiàn),也可以用多個空格實現(xiàn);嚴格的縮進可以約束程序結(jié)構(gòu),可以多層縮進;縮進是代碼書寫規(guī)則要求,故本題選D選項。30.D【詳解】本題主要考查Python表達式。Python中乘號用符號“*”,運算優(yōu)先級可以通過小括號提升,小括號優(yōu)先級最高,故本題選D選項。解析:D【詳解】本題主要考查Python表達式。Python中乘號用符號“*”,運算優(yōu)先級可以通過小括號提升,小括號優(yōu)先級最高,故本題選D選項。二、程序填空31.錯誤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)縮進?!驹斀狻勘绢}考查的是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只。32.i=i+1 無數(shù)遍 100 無數(shù)遍 i!=0 或 i0 或其他等價答案 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①在程序1中,i+=1這句話的含義是i=i+1(即i遞增1)。②i的初值為1,while循環(huán)條件i101為真,會一直執(zhí)行循環(huán)體,無法跳出循環(huán)體執(zhí)行i+=1,故‘把這句話打印100遍 ’實際輸出了無數(shù)遍。③在程序2中,i的初值是100。④i=100,while i(即while 100)一直為真,會一直執(zhí)行循環(huán)體,無法跳出循環(huán)體執(zhí)行i=i2,故‘把這句話打印100遍 ’實際輸出了無數(shù)遍。⑤在程序2中,while i 的含義是i!=0 或 i0 或其他等價答案33.m%n r r=m%n n gcd(a,b) 【詳解】本題主要考查Python程序設(shè)計。①首先對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時,n即為最大公約數(shù),故填n。⑤輸入a、b的值,使用函數(shù)gcd求a和b的最大公約數(shù),故填gcd(a,b)。34.C A B 【詳解】本題主要考查隊列數(shù)據(jù)結(jié)構(gòu)及Python程序。①隊列是從隊頭出隊,隊尾入隊,使用pop函數(shù)出隊,隊頭的索引值是0,(0),(0)。②隊列入隊使用append方法追加到隊列尾,(x),故選A選項。③同理,(y),故選B選項。35.s=1for i in range(9): s=(s+1)*2print(s)【詳解】本題主要考查Python程序設(shè)計。第10天,只剩下一個桃子s=1,由題干每天早上都吃了前一天剩下的一半零一個,則第9天剩下的桃子為(s+1)*2,可以通過for循環(huán)求得第一天共摘了多少個桃子,具體代碼如下:s=1for i in range(9): s=(s+1)*2print(s)36.for i in range(100,1000): a=i//100 b= (i//10)%10 c=i%10 if i==a*a*a+b*b*b+c*c*c: print(i)【詳解】本題主要考查程序設(shè)計??赏ㄟ^Python程序設(shè)計實現(xiàn)題干要求,通過for循環(huán)找出水仙花數(shù),依次取出三位數(shù)的每一位數(shù),其中百位a= i//100,十位b= (i//10)%10,個位c=i%10,然后判斷是否是水仙花數(shù),具體代碼如下:for i in range(100,1000): a=i//100 b= (i//10)%10 c=i%10 if i==a*a*a+b*b*b+c*c*c: print(i)37.str = input(請輸入要轉(zhuǎn)換成大寫的數(shù)據(jù):)c=len(str)for i in range(0,c):print(str[i].upper(),end= )【詳解】本題主要考查程序設(shè)計。題干要求可使用Python程序設(shè)計實現(xiàn),通過upper函數(shù)可以將輸入數(shù)據(jù)轉(zhuǎn)換成大寫并輸出,具體代碼如下:str = input(請輸入要轉(zhuǎn)換成大寫的數(shù)據(jù):)c=len(str)for i in range(0,c):print(str[i].upper(),end= )38.layer = int(input(請輸入需要打印的層數(shù):))for x in range(1,layer+1): for y in range (1,x+1): print(*, end=) print()【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。range可以生成一個整數(shù)列表,列表范圍根據(jù)接收的layer來確定。外層循環(huán)用于確定輸出行數(shù),內(nèi)層循環(huán)用于控制每行符號個數(shù)?!军c睛】39.bananaapplemangoa= 3【詳解】本題主要考查Python中For循環(huán)結(jié)構(gòu)。 for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串;len() 方法返回列表元素個數(shù)。因此本題輸出為各列表內(nèi)容及列表元素個數(shù)?!军c睛】40. s=s+k k=k+5print(s)【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。s=0,k=1,計算S=1+6+11+…+101,循環(huán)條件是k=101,故循環(huán)體應(yīng)為s=s+k,k=k+5,循環(huán)結(jié)束后,輸出計算結(jié)果,故print(s)。