【正文】
索引從0開(kāi)始,a[0]=p,a[1]=y,故本題選D選項(xiàng)。30.ACD【詳解】本題主要考查Python變量的命名。Python變量的命名不能以數(shù)字開(kāi)頭(可以以下劃線或字母開(kāi)頭),不能包含特殊符號(hào),不能是關(guān)鍵字,故本題選ACD選項(xiàng)。解析:ACD【詳解】本題主要考查Python變量的命名。Python變量的命名不能以數(shù)字開(kāi)頭(可以以下劃線或字母開(kāi)頭),不能包含特殊符號(hào),不能是關(guān)鍵字,故本題選ACD選項(xiàng)。二、程序填空31.b*b4*a*c或b**24*a*c d=0 (d))/(2*a) print(方程無(wú)實(shí)數(shù)根) 【詳解】本題主要考查Python程序的調(diào)試。①此處將表達(dá)式b2-4ac的值賦給變量d,故填b*b4*a*c或b**24*a*c。②當(dāng)b2-4ac≥0,方程有兩個(gè)不同的實(shí)數(shù)根,故此處if判斷條件是d=0。③當(dāng)b2-4ac≥0時(shí),方程的兩個(gè)根分別為x1=(b+(d))/(2*a),x2=((d))/(2*a),(d))/(2*a)。④else部分,即x0時(shí),輸出“方程無(wú)實(shí)數(shù)根”,故此處填print(方程無(wú)實(shí)數(shù)根)。32.列表 字典 鍵值對(duì) 3 3 【詳解】本題考查的是python語(yǔ)言的數(shù)據(jù)類(lèi)型,列表和字典。(1)列表是寫(xiě)在方括號(hào)[]之間,用逗號(hào)分隔開(kāi)的元素列表,students=[ 39。小明39。,39。小紅39。,39。小剛39。]就是列表。(2)字典用{}標(biāo)識(shí),它是一個(gè)無(wú)序的“鍵(key):值(value)”對(duì)集合,字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。scores={ 39。小明39。:95,39。小紅39。:90,39。小剛39。:90}就是一個(gè)字典類(lèi)型。(3)其中“39。小明39。:95”就構(gòu)成了一個(gè)鍵值對(duì)。(4)len() 方法返回列表元素個(gè)數(shù)。students=[ 39。小明39。,39。小紅39。,39。小剛39。],里面有三個(gè)元素,故返回值是3。(5)print(len(scores)),其中scores={ 39。小明39。:95,39。小紅39。:90,39。小剛39。:90}該字典有3個(gè)鍵值對(duì),故輸出結(jié)果是3。33.n=10 m=m+(n**(le2i))*a t=convert(s1) 24D 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①二進(jìn)制的權(quán)值是2,十進(jìn)制的權(quán)值是10,十六進(jìn)制的權(quán)值是16,此處是十進(jìn)制的情況,故填n=10。②二進(jìn)制、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的方法是“按權(quán)展開(kāi)、逐項(xiàng)相加”,從右往左加,變量i的初值等于0,故此處要變換為le2i,故此處填m=m+(n**(le2i))*a。③當(dāng)字符c是“+”、“”、“=”時(shí),則表明第一個(gè)運(yùn)算數(shù)已全部保存到變量s1中,此處需要將其轉(zhuǎn)化為十進(jìn)制保存到變量t中,故填t=convert(s1)。④1110B轉(zhuǎn)化為十進(jìn)制數(shù)是14D,30H轉(zhuǎn)化為十進(jìn)制數(shù)是48D,故1110B+10D30H=24D。34.34或 money//hen_price+1 101 或 money//threechick_price+1 chick_num*3 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①母雞只數(shù)可能為133,對(duì)比最外層循環(huán)范圍,第一空填34或 money//hen_price+1。②小雞只數(shù)可能為1100,同理第二空填101 或 money//threechick_price+1。③公雞5文錢(qián)1只,母雞3文錢(qián)1只,小雞3只1文錢(qián),故第三空填chick_num*3。35.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的長(zhǎng)度賦給變量k,故填k=len(s)。②flag用來(lái)標(biāo)記是否有連續(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中,同時(shí)賦值flag為False,表示當(dāng)前沒(méi)有連續(xù)字符構(gòu)成的升序段,需要繼續(xù)判斷尋找,故填flag = False。36.m%n r r=m%n n gcd(a,b) 【詳解】本題主要考查Python程序設(shè)計(jì)。①首先對(duì)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時(shí),n即為最大公約數(shù),故填n。⑤輸入a、b的值,使用函數(shù)gcd求a和b的最大公約數(shù),故填gcd(a,b)。37.([n1,0]) head=0 long1 head=llist[k][1] llist[k][1]=llist[t][1] k=llist[k][1] 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①for循環(huán)體是將索引0n 追加到llist中,此處是循環(huán)體執(zhí)行完,將末元素與首元素的索引加入到llist中,([n1,0])。②head是列表頭,初始化為0,故填head=0。③最后剩下一個(gè),其余人都將被殺掉,故循環(huán)條件是long1,變量long控制元素個(gè)數(shù),故填long1。④索引為t的刪除后,此處是更新head值,故填head=llist[k][1]。⑤刪完后,如果t等于head,需要更新索引k,將索引t的值賦給變量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]38.range(1,33) g+m+x==100 5*g+3*m+x/3 【詳解】本題考查的是算法中的經(jīng)典問(wèn)題。百雞百錢(qián)問(wèn)題是典型的枚舉算法解決,枚舉算法的關(guān)鍵就是找到問(wèn)題解決的條件和枚舉范圍。39.s+i 【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。題目要求計(jì)算11.. 101等差數(shù)列之和,其中公差為5,因此①為5;s變量用于記錄等差數(shù)列之和,需進(jìn)行累加計(jì)算,因此②為s+i?!军c(diǎn)睛】40.計(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語(yǔ)言編程。本題考查的是120階乘的求和。本題的重點(diǎn)是要先計(jì)算出對(duì)應(yīng)的每一項(xiàng)階乘的結(jié)果t,然后20項(xiàng)階乘的結(jié)果記錄在s中。在此過(guò)程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過(guò)程中,記錄每一項(xiàng)的階乘,s=0記錄階乘累加的和,t=1記錄每一項(xiàng)階乘的結(jié)果。每求一次階乘就要進(jìn)行一次求和,故語(yǔ)句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體