【正文】
lo(1000000)【詳解】本題考查的知識(shí)點(diǎn)是Python程序。原理:通常蒙特?卡羅方法通過(guò)構(gòu)造符合一定規(guī)則的隨機(jī)數(shù)來(lái)解決數(shù)學(xué)上的各種問(wèn)題。對(duì)于那些由于計(jì)算過(guò)于復(fù)雜而難以得到解析解或者根本沒(méi)有解析解的問(wèn)題,蒙特?卡羅方法是一種有效的求出數(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)32.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。33.D n=len(password) ch=password[i] x=n1+n2+n3 【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①“12abcd5!”含有三類字符,則輸出結(jié)果為強(qiáng),選D選項(xiàng)。②此處取密碼的長(zhǎng)度,將其賦給變量n,len()是返回字符串的長(zhǎng)度,故填n=len(password)。③ch是取密碼的每一位進(jìn)行判斷,故此處填ch=password[i]。④當(dāng)出現(xiàn)數(shù)字時(shí)n1=1,當(dāng)出現(xiàn)字母時(shí)n2=1,當(dāng)出現(xiàn)其他字符時(shí)n3=1,x用來(lái)統(tǒng)計(jì)有幾類字符,故此處填x=n1+n2+n3。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.xingzuo[“小紅”] xingzuo[“小蘭”]=“水瓶座” xingzuo[“小貝”]=“雙子座” del xingzuo 【詳解】本題主要考查字典數(shù)據(jù)類型。①字典數(shù)據(jù)類型,可以通過(guò)檢索字典的鍵值得到對(duì)應(yīng)的值,即xingzuo[“小紅”]=‘處女座’,故第一空填xingzuo[“小紅”]。②將“小蘭”同學(xué)的星座修改為“水瓶座”,可以通過(guò)語(yǔ)句xingzuo[“小蘭”]=“水瓶座”。③同理添加小貝的信息為,xingzuo[“小貝”]=“雙子座”。④刪除該字典的表達(dá)式是del xingzuo。36.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。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.【詳解】本題主要考查Python程序設(shè)計(jì)。可以采用Python程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)50以內(nèi)所有5的倍數(shù)的和,可以結(jié)合while循環(huán)以及if條件分支結(jié)構(gòu)實(shí)現(xiàn),具體代碼及實(shí)現(xiàn)如下:39.參考答案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:40.[5,6,7,8,9] [7,8,9] [5,6] [6,7] [7,8] 【詳解】本題主要考查Python列表截取。Python列表的正向索引下標(biāo)是從零開始,不是1;當(dāng)只有冒號(hào),表示全部元素;只有頭下標(biāo)i和冒號(hào)(代表的是從該頭下標(biāo)i的元素開始截取,一直到最后);只有冒號(hào)尾下標(biāo)i(代表的是從開始一直截取到i1的元素);頭下標(biāo)i,冒號(hào)和尾下標(biāo)j都有(代表的是從i一直截取到j(luò)1的元素),因此①[5,6,7,8,9]②[7,8,9]③[5,6]④[6,7]⑤[7,8]。【點(diǎn)睛】