【正文】
數(shù)值解的方法。一般蒙特?卡羅方法在數(shù)學(xué)中最常見(jiàn)的應(yīng)用就是蒙特?卡羅積分。方法:蒙特卡羅方法的解題過(guò)程可以歸結(jié)為三個(gè)主要步驟:構(gòu)造或描述概率過(guò)程;實(shí)現(xiàn)從已知概率分布抽樣;建立各種估計(jì)量。利用蒙特卡洛方法實(shí)現(xiàn)求解圓周率!/usr/bin/Python* coding:utf8 *import randomimport mathdef monteCarlo(N): i = 0 count = 0 while i = N: x = () y = () if pow(x, 2) + pow(y, 2) 1: count += 1 i += 1 pi = 4 * count / N print(pi)monteCarlo(1000000)33.day=int(s[8:])或day=int(s[2:]) 0,month1 isleap and month2 year%4==0 and year%100!=0 or year%400==0 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①2020年是閏年,2月是29天,故“20200520”這一天是這一年的第31+29+31+30+20=141天。②變量s是字符串型,下標(biāo)從0開(kāi)始,此處是將輸入日期中的天取出來(lái)放到變量day中,可以使用切片操作:從左邊開(kāi)始截取,也可以從右邊截取,故此處填day=int(s[8:])或day=int(s[2:])。③通過(guò)循環(huán)將前month1個(gè)月的天數(shù)加起來(lái),故變量i的范圍是0到month1,故填0,month1。④變量isleap標(biāo)記是不是閏年,如果isleap值為真且month2,則sum需要遞增1,故填isleap and month2。⑤由題干閏年判斷條件,可知加框處應(yīng)改為year%4==0 and year%100!=0 or year%400==0。34.①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。35.tc0 c=c+1 或者c+=1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①變量tc保存西瓜數(shù)量,當(dāng)tc大于0時(shí),一直循環(huán),故第一空填tc0。②變量c保存天數(shù),每循環(huán)一次,變量c遞增1,故第二空填c=c+1 或者c+=1。36.for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i)【詳解】本題主要考查Python程序設(shè)計(jì)。可以通過(guò)for循環(huán)找出100以內(nèi)的素?cái)?shù),用i依次整數(shù)2~i1,如果能整除表明i不是素?cái)?shù),否則i為質(zhì)數(shù),具體代碼如下:for i in range(1,100): if i 1: for j in range(2,i): if (i % j) == 0: break else:print(i)37.n%i==0: i+=1 ss(i) and ss(ni): 8=3+5 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①函數(shù)ss(n)用來(lái)判斷n是否為質(zhì)數(shù),若是則返回True,否則返回False,此處是通過(guò)while循環(huán)逐個(gè)判斷n是不是能整除i,故填n%i==0:。②若不滿足if條件,則i遞增,繼續(xù)循環(huán)判斷,故填i+=1。③此處判斷i與ni是否都是質(zhì)數(shù),若是,則表明該偶數(shù)可以寫成兩個(gè)質(zhì)數(shù)之和,并輸出,故填ss(i) and ss(ni):。④如果輸入“8”則結(jié)果顯示8=3+5。38.9 1 i 2 末尾不換行,添加空格 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。(1)在第一行程序中(for i in range(1,10):),變量i的數(shù)據(jù)范圍為1到9。(2)同理,在第二行的程序中(for j in range(1,i+1):),變量j的數(shù)據(jù)范圍為1到i。(3)如果“%d”表示十進(jìn)制數(shù),那么%nd則表示n位寬的十進(jìn)制數(shù),%2d則表示2位寬的十進(jìn)制數(shù)。(4)第三行程序改為print(%d X %d=%2d%(i,j,i*j),end= ),則本題的輸出應(yīng)該是 ,i與j的位置進(jìn)行了交換,如1X2=2變?yōu)?X1=2。(5)如果最后一行的print()表示換行,那么end=””的功能是末尾不換行,添加空格。39.total=0 變量可任選(符合規(guī)則) for i in range(1,101): total=total+i*i total=total+i**2 print(total) 【詳解】本題主要考查Python程序的編寫。①變量total用來(lái)統(tǒng)計(jì)最終的計(jì)算結(jié)果,其初始值為0,故填total=0 變量可任選(符合規(guī)則)。②求1+22+32+……+1002的結(jié)果,用for循環(huán)結(jié)構(gòu),變量i的范圍是從1到100,故填for i in range(1,101):。③計(jì)算語(yǔ)句是total=total+i*i total=total+i**2。④最后用print()函數(shù)輸出計(jì)算結(jié)果total,故填print(total)。40.[,,] i in rate:(沒(méi)有冒號(hào)算錯(cuò)誤) money=round(money*(1+i),2) 100000 0 money0 或 money=0 money=round(money*,2) year=year+1 【詳解】本題主要考查Python程序語(yǔ)句。①此處是變量money的初始化,有5萬(wàn)元資金存入銀行,故填50000。②%、3%、3%、2%、%,用rate數(shù)組保存,故填[,,]。③通過(guò)for循環(huán),從rate數(shù)組中取值,故填i in rate:(沒(méi)有冒號(hào)算錯(cuò)誤)。④調(diào)用round()函數(shù),保留結(jié)果兩位小數(shù),故填money=round(money*(1+i),2)。⑤%的銀行保證收益型理財(cái)產(chǎn)品,故money的初始值為100000,故填100000。⑥year的初始值也為0,故填0。⑦循環(huán)條件是money大于0或大于等于0,故填money0 或 money=0。⑧%,每年理財(cái)贖回后,會(huì)提取2萬(wàn)元用作生活所需,余下資金仍購(gòu)買此種理財(cái),使用round函數(shù)保留2位小數(shù),故填money=round(money*,2)。⑨循環(huán)變量是year,此處year遞增進(jìn)入下一輪循環(huán),故填year=year+1