【正文】
序執(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ì)算方法為:從左邊開(kāi)始,第1個(gè)數(shù)字乘以1加上第2個(gè)數(shù)字乘以2……依次類(lèi)推,直到加上第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]。18.for i in range(100,1000): a=i//100 b= (i//10)%10 c=i%10 if i==a*a*a+b*b*b+c*c*c: print(i)【詳解】本題主要考查程序設(shè)計(jì)??赏ㄟ^(guò)Python程序設(shè)計(jì)實(shí)現(xiàn)題干要求,通過(guò)for循環(huán)找出水仙花數(shù),依次取出三位數(shù)的每一位數(shù),其中百位a= i//100,十位b= (i//10)%10,個(gè)位c=i%10,然后判斷是否是水仙花數(shù),具體代碼如下:for i in range(100,1000): a=i//100 b= (i//10)%10 c=i%10 if i==a*a*a+b*b*b+c*c*c: print(i)19.參考答案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í)候,突然想起有急事要辦,于是果斷停止跑步并離開(kāi)操場(chǎng),這就相當(dāng)于使用了 break 語(yǔ)句提前終止了循環(huán)。答案中代碼的實(shí)現(xiàn)過(guò)程見(jiàn)下圖:參考答案1:參考答案2:20.0【詳解】本題主要考查Python中While循環(huán)結(jié)構(gòu)。Python 編程中 while 語(yǔ)句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。題中循環(huán)體內(nèi)含If選擇結(jié)構(gòu),即當(dāng)i%3為0時(shí),執(zhí)行sum變量累加i,輸出i,i自增加1操作,因此本題輸出0后,循環(huán)無(wú)限執(zhí)行下去。【點(diǎn)睛】21.34 chick_num 【詳解】本題主要考查Python程序的執(zhí)行。①公雞數(shù)量的范圍120,for cock_num in range(1,21)表示變量cock_num的范圍是120,故此處填21。②母雞的數(shù)量可能為133,同理,故此處填34。③此處是按順序使用print()函數(shù)輸出公雞數(shù)量、母雞數(shù)量、小雞數(shù)量,故此處填chick_num。