【正文】
【詳解】本題主要考查Python程序的執(zhí)行。a=18,b=7,c=a%b=4,b=a%b=4,輸出a和b的值是18和4,故本題選C選項(xiàng)。解析:C【詳解】本題主要考查Python程序的執(zhí)行。a=18,b=7,c=a%b=4,b=a%b=4,輸出a和b的值是18和4,故本題選C選項(xiàng)。二、程序填空31.day=int(s[8:])或day=int(s[2:]) 0,month1 isleap and month2 year%4==0 and year%100!=0 or year%400==0 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①2020年是閏年,2月是29天,故“20200520”這一天是這一年的第31+29+31+30+20=141天。②變量s是字符串型,下標(biāo)從0開始,此處是將輸入日期中的天取出來放到變量day中,可以使用切片操作:從左邊開始截取,也可以從右邊截取,故此處填day=int(s[8:])或day=int(s[2:])。③通過循環(huán)將前month1個(gè)月的天數(shù)加起來,故變量i的范圍是0到month1,故填0,month1。④變量isleap標(biāo)記是不是閏年,如果isleap值為真且month2,則sum需要遞增1,故填isleap and month2。⑤由題干閏年判斷條件,可知加框處應(yīng)改為year%4==0 and year%100!=0 or year%400==0。32. csv 學(xué)校代碼 (‘姓名’ ,axis=1) 將總?cè)藬?shù)存儲到變量zrs中 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①將csv文件讀入并轉(zhuǎn)化為數(shù)據(jù)框形式, csv。②groupby函數(shù)主要的作用是進(jìn)行數(shù)據(jù)的分組,此處按學(xué)校分組計(jì)數(shù),故填學(xué)校代碼。③此處刪除"姓名"列,可以使用drop()函數(shù)來刪除, (‘姓名’ ,axis=1)。④zrs=len(),該語句是統(tǒng)計(jì)df內(nèi)有多少個(gè)元素,即將總?cè)藬?shù)存儲到變量zrs中。33.C D B D C 【詳解】本題主要考查Python程序調(diào)試。①Python程序for循環(huán)格式是:for 變量 in range( ),故程序中①處應(yīng)填寫in,選C選項(xiàng)。②程序中x%4的作用是計(jì)算x除以4的余數(shù),選D選項(xiàng)。③colors=[red, green, blue, yellow],依次循環(huán)從colors中取顏色,故執(zhí)行此程序,繪制出圓形的總顏色數(shù)是4,故本題選B選項(xiàng)。④x的范圍是從0到99,故執(zhí)行此程序,繪制出圓形的總個(gè)數(shù)是100個(gè),選D選項(xiàng)。⑤此程序?qū)儆诔绦蛟O(shè)計(jì)結(jié)構(gòu)中的循環(huán)結(jié)構(gòu),選C選項(xiàng)。34.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()35.【詳解】本題主要考查程序設(shè)計(jì)與實(shí)現(xiàn)??梢允褂肞ython程序?qū)崿F(xiàn)題干要求:36.N=int(input(請輸入一個(gè)數(shù)))for i in range(1,N+1):if(i%7==0 or i/10==7):print(i,end= )【詳解】本題考查Python語言編程解決實(shí)際問題。本題要找到能被7整除或者十位是7的數(shù),并且這兩個(gè)條件是或的關(guān)系,其關(guān)鍵代碼為i%7==0 or i/10==7。程序運(yù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.if print else 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①secret是隨機(jī)生成的數(shù),sc是你猜的數(shù)字,此處是判斷cs與secret的大小,故填if。②如果cs大于secret,則輸出“唉,猜大啦”,故填print。③如果cs小于secret,輸出“嘿嘿,猜小了!”,故填else。39.計(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語言編程。本題考查的是120階乘的求和。本題的重點(diǎn)是要先計(jì)算出對應(yīng)的每一項(xiàng)階乘的結(jié)果t,然后20項(xiàng)階乘的結(jié)果記錄在s中。在此過程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過程中,記錄每一項(xiàng)的階乘,s=0記錄階乘累加的和,t=1記錄每一項(xiàng)階乘的結(jié)果。每求一次階乘就要進(jìn)行一次求和,故語句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體內(nèi)。40.字符串類型 你及格了喔 表現(xiàn)不錯(cuò) 程序結(jié)束 不及格 學(xué)習(xí)方法可能不對 程序結(jié)束 60 80 錯(cuò) 【詳解】本題主要考查Python編程。① input() 函數(shù)接受一個(gè)標(biāo)準(zhǔn)輸入數(shù)據(jù),返回為 string 類型,因此此處為字符串類型;②輸入期末成績?yōu)?5時(shí),滿足大于等于60及大于等于80條件,因此此處輸出為“你及格了喔 表現(xiàn)不錯(cuò) 程序結(jié)束”;③輸入期末成績?yōu)?5時(shí),滿足小于60及大于等于30,因此此處輸出為“不及格 學(xué)習(xí)方法可能不對 程序結(jié)束”;評價(jià)是“還可以再提升”項(xiàng),屬于大于等于60且小于80范圍,因此④為60,⑤為80;elif后需添加判斷條件,因此⑥為錯(cuò)?!军c(diǎn)睛】