【正文】
le2i))*a。③當字符c是“+”、“”、“=”時,則表明第一個運算數(shù)已全部保存到變量s1中,此處需要將其轉化為十進制保存到變量t中,故填t=convert(s1)。④1110B轉化為十進制數(shù)是14D,30H轉化為十進制數(shù)是48D,故1110B+10D30H=24D。18.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的長度賦給變量k,故填k=len(s)。②flag用來標記是否有連續(xù)字符構成的升序段,第二空判斷相鄰位置后面字符的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中,同時賦值flag為False,表示當前沒有連續(xù)字符構成的升序段,需要繼續(xù)判斷尋找,故填flag = False。19.【詳解】本題主要考查Python程序設計??梢圆捎肞ython程序設計語言實現(xiàn)50以內(nèi)所有5的倍數(shù)的和,可以結合while循環(huán)以及if條件分支結構實現(xiàn),具體代碼及實現(xiàn)如下:20.參考答案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語言編程解決問題。break 語句可以立即終止當前循環(huán)的執(zhí)行,跳出當前所在的循環(huán)結構。無論是 while 循環(huán)還是 for 循環(huán),只要執(zhí)行 break 語句,就會直接結束當前正在執(zhí)行的循環(huán)體。這就好比在操場上跑步,原計劃跑 10 圈,可是當跑到第 2 圈的時候,突然想起有急事要辦,于是果斷停止跑步并離開操場,這就相當于使用了 break 語句提前終止了循環(huán)。答案中代碼的實現(xiàn)過程見下圖:參考答案1:參考答案2:21.計算每一項的階乘 記錄階乘相加后的和 t記錄的是每一項階乘的結果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結果,若為0,則每項的階乘結果都是0,不符合題意。 t=t*n s=s+t 【詳解】本題考查的是python語言編程。本題考查的是120階乘的求和。本題的重點是要先計算出對應的每一項階乘的結果t,然后20項階乘的結果記錄在s中。在此過程中既要考慮到累乘求階乘結果,又要考慮到累加求所有階乘的和。初值n=0,在121的循環(huán)過程中,記錄每一項的階乘,s=0記錄階乘累加的和,t=1記錄每一項階乘的結果。每求一次階乘就要進行一次求和,故語句t*=n,s+=t均在“for n in range(1,21):”的循環(huán)體內(nèi)