【正文】
算。Python比較運算優(yōu)先級高于邏輯運算,因此C選項正確?!军c睛】30.D【詳解】本題主要考查Python表達式。Python中乘號用符號“*”,運算優(yōu)先級可以通過小括號提升,小括號優(yōu)先級最高,故本題選D選項。解析:D【詳解】本題主要考查Python表達式。Python中乘號用符號“*”,運算優(yōu)先級可以通過小括號提升,小括號優(yōu)先級最高,故本題選D選項。二、程序填空31.0=s[i]=9 或s[i] in 0123456789” sum=sum+a[i]*(i+1) ydm=a[9] 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①變量s保存商品倉庫物品代碼,若s[i]是數(shù)字則進入循環(huán)判斷,否則跳過,故此處判斷條件是0=s[i]=9 或s[i] in 0123456789”。②校驗碼由前面9個X計算得到,計算方法為:從左邊開始,第1個數(shù)字乘以1加上第2個數(shù)字乘以2……依次類推,直到加上第9個數(shù)字乘以9,用變量sum統(tǒng)計,故此處填sum=sum+a[i]*(i+1)。③變量sdm是計算得到的校驗碼,變量ydm是輸入的校驗碼,此處需要將校驗碼a[9]賦給變量ydm,故填ydm=a[9]。32.range(1,20) 5*x+3*y+z/3 == 100 c = c+1 【詳解】本題考查的是python編程。X代表的是公雞,公雞5元一只,所以此處的range函數(shù)為range(1,20),左閉右開區(qū)間。if條件是滿足三種雞的總價格為100元的條件,故答案為5*x+3*y+z/3 == 100,注意這里是一個判斷條件,用==表示。c代表的是有幾種購買方案,當if條件滿足時,即滿足一種方案,執(zhí)行方案數(shù)加1,c=c+1。33.n[0:5] s=0 total=ss//x*y 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①此處通過條件分支結(jié)構(gòu)取字符串n的前5個字符,當len(n)=5時,取n= n[0:5],即索引為0、4,故填n[0:5]。②用變量s統(tǒng)計消費合計,初值為0,故填s=0。③此處else部分處理1000元以下享受每滿100減15優(yōu)惠。應付金額用total統(tǒng)計,變量r保存消費額度,x和y分別是滿和減,變量s是消費合計,故填total=ss//x*y。34.C D B D C 【詳解】本題主要考查Python程序調(diào)試。①Python程序for循環(huán)格式是:for 變量 in range( ),故程序中①處應填寫in,選C選項。②程序中x%4的作用是計算x除以4的余數(shù),選D選項。③colors=[red, green, blue, yellow],依次循環(huán)從colors中取顏色,故執(zhí)行此程序,繪制出圓形的總顏色數(shù)是4,故本題選B選項。④x的范圍是從0到99,故執(zhí)行此程序,繪制出圓形的總個數(shù)是100個,選D選項。⑤此程序?qū)儆诔绦蛟O計結(jié)構(gòu)中的循環(huán)結(jié)構(gòu),選C選項。35.i%j==0 t=i t=t//10 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①此處是處理從2開始到i開方加1,若能整除i則表明i不是素數(shù),否則直到循環(huán)結(jié)束,表明i是素數(shù),故此處填i%j==0。②若i是素數(shù),則將變量i賦給變量t,并通過while循環(huán)將t的每一位取出來并加到summ中,故此處填t=i。③同理此處取出個位數(shù)后,更新t的值繼續(xù)循環(huán),故此處填t=t//10。36.pw=input(請輸入密碼:)password=123456i=1while(i=3): if pw==password: print(恭喜你進入系統(tǒng)!) break else: print(請重新嘗試:,i) pw = input(請輸入密碼:) i=i+1【詳解】本題主要考查程序設計??梢酝ㄟ^Python程序設計語言實現(xiàn)題干要求,可以通過while循環(huán)控制三次機會,使用if條件分支結(jié)構(gòu)判斷是否輸入正確,具體代碼如下:pw=input(請輸入密碼:)password=123456i=1while(i=3): if pw==password: print(恭喜你進入系統(tǒng)!) break else: print(請重新嘗試:,i) pw = input(請輸入密碼:) i=i+137.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睛】38.N=int(input(請輸入一個數(shù)))for i in range(1,N+1):if(i%7==0 or i/10==7):print(i,end= )【詳解】本題考查Python語言編程解決實際問題。本題要找到能被7整除或者十位是7的數(shù),并且這兩個條件是或的關(guān)系,其關(guān)鍵代碼為i%7==0 or i/10==7。程序運行代碼詳見下圖:39.0【詳解】本題主要考查Python中While循環(huán)結(jié)構(gòu)。Python 編程中 while 語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復處理的相同任務。題中循環(huán)體內(nèi)含If選擇結(jié)構(gòu),即當i%3為0時,執(zhí)行sum變量累加i,輸出i,i自增加1操作,因此本題輸出0后,循環(huán)無限執(zhí)行下去?!军c睛】40.計算每一項的階乘 記錄階乘相加后的和 t記錄的是每一項階乘的結(jié)果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結(jié)果,若為0,則每項的階乘結(jié)果都是0,不符合題意。 t=t*n s=s+t 【詳解】本題考查的是python語言編程。本題考查的是120階乘的求和。本題的重點是要先計算出對應的每一項階乘的結(jié)果t,然后20項階乘的結(jié)果記錄在s中。在此過程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過程中,記錄每一項的階乘,s=0記錄階乘累加的和,t=1記錄每一項階乘的結(jié)果。每求一次階乘就要進行一次求和,故語句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體內(nèi)。