【正文】
題主要考查Python程序的執(zhí)行。分析代碼可知,k=16,17,18時(shí),x=1;k=19,20時(shí),x=0;k=13,14,15時(shí),x=4;k取1~12時(shí),x=5,故本題選B選項(xiàng)。30.D【詳解】本題主要考查Python數(shù)據(jù)類型。布爾型bool,整型int,字符串型String,浮點(diǎn)型float,故本題選D選項(xiàng)。解析:D【詳解】本題主要考查Python數(shù)據(jù)類型。布爾型bool,整型int,字符串型String,浮點(diǎn)型float,故本題選D選項(xiàng)。二、程序填空31.錯(cuò)誤1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,沒取到23,故應(yīng)改為: range(1,24)錯(cuò)誤2:縮進(jìn)錯(cuò)誤,y=35x、if 4*x+2*y==94:是for語句中的語句塊,應(yīng)縮進(jìn)。print(兔子有%s只,雞有%s只%(x,y))是if語句中的語句塊,應(yīng)縮進(jìn)?!驹斀狻勘绢}考查的是Python調(diào)試。本題程序錯(cuò)誤如下:錯(cuò)誤1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,沒取到23,故應(yīng)改為: range(1,24)錯(cuò)誤2:縮進(jìn)錯(cuò)誤,y=35x、if 4*x+2*y==94:是for語句中的語句塊,應(yīng)縮進(jìn)。print(兔子有%s只,雞有%s只%(x,y))是if語句中的語句塊,應(yīng)縮進(jìn)。調(diào)試完最終輸出:兔子有12只,雞有23只。32.import 0~19(包括0和19) import random as r 讓程序無限循環(huán) break。 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①Python中導(dǎo)入庫文件的命令是import,如import random。②(0,20)生成的隨機(jī)數(shù)的范圍是0~19(包括0和19)。③(0,20)這么長的句子,可以修改程序中的第一行為import random as r(給random取個(gè)簡單的別名)。④while True 的作用是讓程序無限循環(huán)。⑤如果while True造成程序無法停止,我們可以在程序中添加一行break。(滿足條件后,執(zhí)行break??梢蕴鲅h(huán))。33.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。③該程序主要是通過while實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。34.1n%i==0 2s=s+1【詳解】本題主要考查Python程序的執(zhí)行。1變量i的取值范圍是1~n,如果n能整除i,則i為n的一個(gè)約數(shù),s統(tǒng)計(jì)約數(shù)的個(gè)數(shù),故此處應(yīng)修改為n%i==0。2如果n能整除i,則s遞增,故此處應(yīng)改為s=s+1。35.for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()【詳解】本題主要考查Python程序的執(zhí)行。九九乘法口訣表可以通過嵌套for循環(huán)實(shí)現(xiàn),內(nèi)層循環(huán)完一次,執(zhí)行print()換行,具體代碼如下:for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()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è)計(jì)??赏ㄟ^Python程序設(shè)計(jì)實(shí)現(xiàn)題干要求,通過for循環(huán)找出水仙花數(shù),依次取出三位數(shù)的每一位數(shù),其中百位a= i//100,十位b= (i//10)%10,個(gè)位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è)計(jì)。題干要求可使用Python程序設(shè)計(jì)實(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.【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。運(yùn)行結(jié)果如下:39.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)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。range可以生成一個(gè)整數(shù)列表,列表范圍根據(jù)接收的layer來確定。外層循環(huán)用于確定輸出行數(shù),內(nèi)層循環(huán)用于控制每行符號個(gè)數(shù)?!军c(diǎn)睛】40.n r n 【詳解】本題考查的是Python循環(huán)語句。輾轉(zhuǎn)相除法:用較大數(shù)除以較小數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。如果是求兩個(gè)數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個(gè)數(shù)的最大公約數(shù)。 由n = min(x,y) 可知最小值為n,故①處為n,由r = m%n 可知余數(shù)為r,故②處為r,最后的除數(shù)是n(即最大公約數(shù)為n),故③處為n