【正文】
lo(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)【詳解】本題考查的知識(shí)點(diǎn)是Python程序。原理:通常蒙特?卡羅方法通過構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來解決數(shù)學(xué)上的各種問題。對(duì)于那些由于計(jì)算過于復(fù)雜而難以得到解析解或者根本沒有解析解的問題,蒙特?卡羅方法是一種有效的求出數(shù)值解的方法。一般蒙特?卡羅方法在數(shù)學(xué)中最常見的應(yīng)用就是蒙特?卡羅積分。方法:蒙特卡羅方法的解題過程可以歸結(jié)為三個(gè)主要步驟:構(gòu)造或描述概率過程;實(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)32.n*f(n1) range(1,n+1) s+f(i) 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①此處是定義遞歸函數(shù)f(n),由題干,當(dāng)n=0時(shí),返回1,否則返回n*f(n1),故此處填n*f(n1)。②用遞歸算法求1!+2!+……+n!,故變量i的范圍應(yīng)是1—n,for i in range(1,n+1)表示i的范圍是[1,n],故此處填range(1,n+1)。③循環(huán)體實(shí)現(xiàn)累加,將每一項(xiàng)階乘f(i)加到s中,故此處填s+f(i)。33.or i+1 【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①分析程序可知,程序采用枚舉的算法找出該數(shù),當(dāng)不滿足條件時(shí),i遞增繼續(xù)判斷,故i的初始值是0,第一空填0。②一個(gè)數(shù)除以3余2,除以5余3,除以7余2,此處是取不滿足情況時(shí),i遞增,and取反變?yōu)閛r,故第二空填or。③同理第三空填i+1。34.將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year And year%100 != 0 or year 【詳解】本題主要考查Python程序設(shè)計(jì)。①input接收的數(shù)據(jù)類型是字符串型,該語句表示將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除,故第二、三、四空分別填② And ③year%100 != 0 ④or ⑤最后輸出打印某一年是否是閏年,需要將year轉(zhuǎn)換為字符型。35.for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()【詳解】本題主要考查Python程序的執(zhí)行。九九乘法口訣表可以通過嵌套for循環(huán)實(shí)現(xiàn),內(nèi)層循環(huán)完一次,執(zhí)行print()換行,具體代碼如下:for i in range(1,10): for j in range(1,i+1): print(str(j)+*+str(i)+=+str(i*j),end= )print()36.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ì)??赏ㄟ^Python程序設(shè)計(jì)實(shí)現(xiàn)題干要求,通過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)37.s=input(請(qǐng)輸入要轉(zhuǎn)換的字符)c=len(s) len 求字符串長度for i in range(0,c): if i2: print (chr(ord(s[i])+2)) ord ord() 函數(shù)是 chr() 函數(shù)配對(duì)函數(shù),將字符轉(zhuǎn)ASCII值 else: print(chr(ord(s[i]) + 3))【詳解】本題主要考查程序設(shè)計(jì)。題干要求可通過Python程序條件分支結(jié)構(gòu)實(shí)現(xiàn),具體代碼如下:s=input(請(qǐng)輸入要轉(zhuǎn)換的字符)c=len(s) len 求字符串長度for i in range(0,c): if i2: print (chr(ord(s[i])+2)) ord ord() 函數(shù)是 chr() 函數(shù)配對(duì)函數(shù),將字符轉(zhuǎn)ASCII值 else: print(chr(ord(s[i]) + 3))38.解析法或解析 A 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①由算法分析可知,本題采用的算法是解析法或解析。②3公里內(nèi)(含3公里),收費(fèi)8元;超過3公里但未超過6公里部分,;超過6公里部分,故此處填3s=6,故選A選項(xiàng)。39.整除 取余 判斷是否相等 百 十 個(gè) 1000 【詳解】本題考查的是python語言及對(duì)程序?qū)崿F(xiàn)的理解。(1)//的符號(hào)作用是取整除,返回商的整數(shù)部分(向下取整)。(2)%的符號(hào)作用是取模,返回除法的余數(shù)。(3)等于,比較符號(hào)兩邊對(duì)象是否相等。(4)(5)(6)i=n//100,j=n//10%10,k=n%10,分別利用取整和取余符號(hào),算出三位數(shù)對(duì)應(yīng)的每一位上的數(shù)字。(7)range()函數(shù)的區(qū)間是左閉右開,所以第二個(gè)參數(shù)1000是取不到的。40.y y show( ) 【詳解】本題主要考查Python程序繪制圖像。 ①繪制y=x22x+ 1的圖像,故此處填y。 ②根據(jù)橫縱坐標(biāo)x和y繪制圖,故此處填y。 ③此處調(diào)用顯示函數(shù)show( ),故填show()。