【正文】
=a[9] 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①變量s保存商品倉(cāng)庫(kù)物品代碼,若s[i]是數(shù)字則進(jìn)入循環(huán)判斷,否則跳過(guò),故此處判斷條件是0=s[i]=9 或s[i] in 0123456789”。②校驗(yàn)碼由前面9個(gè)X計(jì)算得到,計(jì)算方法為:從左邊開始,第1個(gè)數(shù)字乘以1加上第2個(gè)數(shù)字乘以2……依次類推,直到加上第9個(gè)數(shù)字乘以9,用變量sum統(tǒng)計(jì),故此處填sum=sum+a[i]*(i+1)。③變量sdm是計(jì)算得到的校驗(yàn)碼,變量ydm是輸入的校驗(yàn)碼,此處需要將校驗(yàn)碼a[9]賦給變量ydm,故填ydm=a[9]。32. Python程序設(shè)計(jì)語(yǔ)言規(guī)定,在標(biāo)識(shí)符中,字母大小寫是有區(qū)別的。該程序代碼中表示里程費(fèi)的Tot2錯(cuò)誤將字母“T”寫成了小寫”“t”。 合理的順序是:③分析問(wèn)題①設(shè)計(jì)算法②編寫程序④調(diào)試運(yùn)行程序 略 【詳解】本題主要考查Python程序的編寫。①Python程序設(shè)計(jì)語(yǔ)言屬于程序設(shè)計(jì)語(yǔ)言中的高級(jí)語(yǔ)言,選C選項(xiàng)。②“Tot2=8”是一個(gè)賦值語(yǔ)句,選C選項(xiàng)。③“初始化時(shí)長(zhǎng)費(fèi)為0”是一個(gè)注釋語(yǔ)句,選D選項(xiàng)。④“S<=”是一個(gè)表達(dá)式,選B選項(xiàng)。⑤“float(input(“請(qǐng)輸入時(shí)長(zhǎng)”))”是一個(gè)函數(shù),float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù),選A選項(xiàng)。⑥編譯運(yùn)行發(fā)現(xiàn)報(bào)錯(cuò)了,根據(jù)下圖中所示的錯(cuò)誤信息分析該程序報(bào)錯(cuò)的原因是:Python程序設(shè)計(jì)語(yǔ)言規(guī)定,在標(biāo)識(shí)符中,字母大小寫是有區(qū)別的。該程序代碼中表示里程費(fèi)的Tot2錯(cuò)誤將字母“T”寫成了小寫”“t”。⑦小C借助于計(jì)算機(jī)編寫程序解決問(wèn)題的這個(gè)過(guò)程,合理的順序是:③分析問(wèn)題①設(shè)計(jì)算法②編寫程序④調(diào)試運(yùn)行程序。⑧略33.f = True isprime(k+2) k=k+1 或 k+=1 或 k=k+2 或 k+=2 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①isprime(x)用來(lái)判斷x是不是素?cái)?shù),通過(guò)用x整除2~int((x)),如果余數(shù)為0則表明該數(shù)不是素?cái)?shù),賦值f為假退出循環(huán),f的初值為True,故第一空填f = True。②若兩個(gè)素?cái)?shù)之差為 2,則該對(duì)素?cái)?shù)稱為雙胞胎數(shù),此處判斷相差為2的兩個(gè)數(shù)是不是素?cái)?shù),故第二空填isprime(k+2)。③素?cái)?shù)都是奇數(shù),此處需要更新k的值繼續(xù)循環(huán)判斷,可以將k的值遞增1或遞增2,故填k=k+1 或 k+=1 或 k=k+2 或 k+=2。34.i%j==0 t=i t=t//10 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①此處是處理從2開始到i開方加1,若能整除i則表明i不是素?cái)?shù),否則直到循環(huán)結(jié)束,表明i是素?cái)?shù),故此處填i%j==0。②若i是素?cái)?shù),則將變量i賦給變量t,并通過(guò)while循環(huán)將t的每一位取出來(lái)并加到summ中,故此處填t=i。③同理此處取出個(gè)位數(shù)后,更新t的值繼續(xù)循環(huán),故此處填t=t//10。35.①n=len(a) sum+=1或sum=sum+1 6 【詳解】本題主要考查Python程序調(diào)試與執(zhí)行。①變量n用來(lái)保存數(shù)組a的長(zhǎng)度,使用len函數(shù),故此處填n=len(a)。②使用for循環(huán)統(tǒng)計(jì)出80分(含80)以上的人數(shù),用變量sum統(tǒng)計(jì)滿足條件的人數(shù),當(dāng)滿足if條件時(shí),sum變量遞增,故此處填sum+=1或sum=sum+1。③執(zhí)行上述程序段后,sum=6,故輸出的內(nèi)容是6。36.s=0n=eval(input( 請(qǐng)輸入一個(gè)數(shù):))for i in range(0,n): f=1 for j in range(1,i): f=f*j s+=fprint(s%1000000)【詳解】本題主要考查Python程序設(shè)計(jì)??梢酝ㄟ^(guò)嵌套for循環(huán)實(shí)現(xiàn)題干要求,外層循環(huán)進(jìn)行求和,內(nèi)層循環(huán)實(shí)現(xiàn)階乘,具體代碼如下:s=0n=eval(input( 請(qǐng)輸入一個(gè)數(shù):))for i in range(0,n): f=1 for j in range(1,i): f=f*j s+=fprint(s%1000000)37.l=[]for i in range(2000, 3201): if (i%7==0) and (i%5!=0): (str(i))print (39。,39。.join(l))【詳解】本題主要考查程序設(shè)計(jì)。由題干要求,可以使用Python程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn),可使用for循環(huán)以及列表,可以使用join函數(shù)按逗號(hào)分隔格式打印結(jié)果,join函數(shù)連接字符串?dāng)?shù)組,將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個(gè)新的字符串,具體代碼如下:l=[]for i in range(2000, 3201): if (i%7==0) and (i%5!=0): (str(i))print (39。,39。.join(l))38.([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]39.解析法或解析 A 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①由算法分析可知,本題采用的算法是解析法或解析。②3公里內(nèi)(含3公里),收費(fèi)8元;超過(guò)3公里但未超過(guò)6公里部分,;超過(guò)6公里部分,故此處填3s=6,故選A選項(xiàng)。40.參考答案1:for i in range(2,101): j=2 while j=i: if i%j==0: break j+=1 if ji: continue else: print(i,end= )參考答:2:for i in range(2,101): for j in range(2,i): if(i%j==0): break else:print(i)【詳解】本題考查是Python語(yǔ)言編程解決問(wèn)題。break 語(yǔ)句可以立即終止當(dāng)前循環(huán)的執(zhí)行,跳出當(dāng)前所在的循環(huán)結(jié)構(gòu)。無(wú)論是 while 循環(huán)還是 for 循環(huán),只要執(zhí)行 break 語(yǔ)句,就會(huì)直接結(jié)束當(dāng)前正在執(zhí)行的循環(huán)體。這就好比在操場(chǎng)上跑步,原計(jì)劃跑 10 圈,可是當(dāng)跑到第 2 圈的時(shí)候,突然想起有急事要辦,于是果斷停止跑步并離開操場(chǎng),這就相當(dāng)于使用了 break 語(yǔ)句提前終止了循環(huán)。答案中代碼的實(shí)現(xiàn)過(guò)程見(jiàn)下圖:參考答案1:參考答案2: