资源描述
试题python试题答案程序填空阅读填空程序试题一、程序填空1.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多 出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后 多出两个。编写程序求出这些小朋友的可能人数。这群小朋友总的人数有:128、233、338、443、518.653、758、863、968、可能情况数为:9种 I实现上述功能的程序如下,请在程序划线处填入合适的代码。a=for i in range(100,1000):if:a.append(i)total+=1print(这群小朋友总的人数有:)for j in range(len(a):print(,end=)print()prints可能情况数为:total,种)划线处处应该填入的语句为:划线处处应该填入的语句为:划线处处应该填入的语句为:2.请在空格处填写正确的代码,使程序完善。实现功能:绘制y=x2-2x+1的图像#加载numpy模块并限简洁的别名为npimport numpy as np#加载matplotlib.pyplot模块并限简洁的别名为pit import matplotlib.pyplot as pit#x在-7到9之间,每隔0.1取一个点x=np.arange(-7/9/0.1)F-.n】1-T;|:1,:*FPe*copynh!credit i*口 L=-ttSTAfrl:E*四#W屯-暂晒”.拿基IB鹏大濡 t S if dittos i iv 鼻.5出。一1)。州do丁成7?=x*2-2*x+lplt.plot(x,)plt.title(y=x*x-2*x+l,)plt.xlabel(x)plt.ylabel(y)pit._3.完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。一 mb rvido*cE r0dg t tndin*(0,10)Pli3-4-)EBSUlT(H Hpcibl|胃J ck utT ursecret:(唉,猜大啦!”)1071 Iprint(嘿嘿,猜小了!”)cs=int(input(重新猜一个靠谱的数字是:)print(游戏结束,不玩了!”)4.完善程序。以下是计算S=l+6+ll+101的程序代码。请你在处填写正确的语句。s=0 k=l 广(k101)k=k+5 s=s+k print(s+1)s=ok=lwhile(k=101)s=0k=lwhile(k Ifruites=banana,apple,mangofor fruit in fruites:print(fruit)a=len(fruites)print(a=/a)6.编写程序。信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开 始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。7.分析完善程序背景知识为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号 限行,违反规定的车辆将予以处罚。(1)输入:AD2367(2)输入:A8888A(3)输入:A8963C输出:单号输出:双号输出:单号如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善 下面的程序。(提示:所有车牌号中都含有数字,并且车牌号的长度都是6;以车牌 中最后一位阿拉伯数字的奇、偶来决定单双号。)如:自然语言第1步:输入车牌号第2步:取车牌号的最后一位;第3步:判断x是否为数字,如果 是,转第4步;如果不是,则依次 取得倒数第二、三 位判断,知道找到数字为止;第4步:判断x是奇数还是偶数,然后输出相应的结果。流程图请根据上述算法描述补全代码s=input(车牌号 s=)n=6x=sn-l:nwhile x.isdigit()=False:x=sn-l:nif =0:print(双号)else:print(单号)(提示:sn:m的功能:从字符串s的下标为n的元素开始,截取到下标为m-1的元素。例如:s=12345,s2:4=34。s.isdigit):判断是否为数字。)(1)根据题意,程序中空白处应填写:(2)根据题意,程序中空白处应填写:(填:A/B/C/D)。A.int(x)/2=0 B.int(x)%2=0 C.int(x)%2=0 D.int(x)%2!=08.程序分析题学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一个最低分,计 算其余4位评委的平均分,作为选手的最终得分。max记录最高分;min记录最低分;s 记录六位评委的总分;aver记录最终得分。评爱一:程四:。二:W5:分;计真闻分第1步:从文本框中分别读入6位评委的打分并依次存入到a(l)至a(6)中第2步:将第1位评委的打分a(l)分别赋给最高分max,最低分min和总分S第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时 把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作 为选手的最终得分。max=aOmin=aOs=0 for i in range(6):s=s+aiif aimax:max=a iif ai min:min=a iaver=()/4在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由 控件生成的。A.Entry B.Label C.Frame D.Button(2)题目中算法描述采用的是 A、自然语言B、伪代码C、流程图D、.N-S图下列程序代码片段对应于算法描述中的第2步至第4步。请填写片段中空白处的表达式 填写完整9.分析完善程序某市出租车收费标准如下:(1)3公里内(含3公里),收费8元(2)超过3公里但未超过6公里部分,按1.5元/公里收费(3)超过6公里部分,按2.25元/公里收费。根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?算法分析假设总费用为P,则可以分段计算p=8 (sW3)p=1.5*(s-3)+8 (36)参考代码a=float(input(z,s=w)if s 6:p=2.25*(s-6)+1.5*3+8print(p)根据上述回答如下问题:(1)本题采用的算法是(填:解析法/枚举法/排序法/递归法)。(2)程序代码中空白处应填写的条件是(填:A/B/C/D)。A.3s=6 B.3=s3 and s3 Or s=610.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如 果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。11.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至 3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用 range(#begin,#end)12.输入三个同学的成绩,然后大到小排列。13.操作说明:编写一个程序实现以下功能,将程序以“Y:顺.py”作为文件名保存。题目:设计100以内的数中能同时被3或5整除的个数。14.请在空格处填写正确的代码,使程序完善。实现功能:用辗转相除法求解两个正整数的最大公约数。x=int(input(,请输入第一个正整数:力y=int(inputC请输入第二个正整数:)m=max(x,y)#找出x,y中的最大值n=min(x/y)#找出x,y中的最小值r=m%n#求得最大值除以最小值后的余数while r!=0:#如果余数不等0,则进行以下循环m=#把最小值赋给mn=#把余数赋给nr=m%n#求得最大值除以最小值后的余数prints这两个数的最大公约数为:,)input(运行完毕,请按任意键退出15.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归 年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于 2月末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是 否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以 下是一段用于判断某一年是否是闰年的程序。year-请输入您要判蜥的年份:”)year=int(year)#(T)result=(year%*!=0 maxi:maxi=print(最大值是:,)input(运行完毕,请按回车键退出)18.完善代码并保存。实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。cj=for i in range(0,):x=float(input(请输入一个数)cj.appen d()print(max(cj),min()input(运行完毕,请按回车键退出19.已知6月份10位技术考试成绩:技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:a=78,88,89,90,83,76,75,98,100,6512345678910788889908376759810065sum=Ofor i in range(n):if ai=80:print(sum)执行上述程序段后,输出的内容是20.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善 程序。程序如下:import mathdef IsPrime(i):if i=l:return Falsefor j in range(2Jnt(math.sqrt(i)+l):if:return Falsereturn Truea=int(input(请输入 a:)b=int(input(请输入 b:)summ=0for i in range(a,b+l):if IsPrime(i):while t0:summ=summ+t%10 print(数字和为:,summ)21.某字符转置算法描述如下:将字符串(均为大写字符)s依次转换为相对应的数值(字符AZ对应数值126);转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足 部分用。来补充);每一段中K个数据与K*K转置矩阵进行乘法运算;将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值126对应字 符AZ),最后按原始字符串长度输出。乘法运算规则如下:第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b的乘积之和(其中j=l,2.K)例如:字符串S=PYTHON,区块大小K=4,的转置过程如下:上述示例中,字符“N”的相乘结果(即图中()处)为(1)根据算法描述,(2)请在划线处填入合适代码。g 转册字符相序 j原字符串科而而I IiI,:区块大小 Hi字符矩阵6 50 5 410-281100转置矩阵中小5 12 9!3 8 3 9|5 9 9 9转置数值36()217380557101157201X;转置后字符串!VIP KWK _ _jPrivate Sub Commandl_Click()Dim a(l To 100)As Integer存储字符串,长度不超过100个字符Dim b(l To 100)As Integer存储转置矩阵,长度不超过10*10Dim c(l To 100)As LongDim s As String,tmp As StringDim k As Integer,t As Integer,i As Integer,j As IntegerDim n As Integer,m As Integer,lens As Integers=Textl.Text 在Textl中输入原始字符串k=Val(Text 2.Text)在Text 2中输入区块大小KRandomizeFor i=l To kA2 b(i)=lnt(Rnd*9)+l tmp=tmp 十 Str(b(i)If i Mod k=0 Then List 2.Additem tmp tmp=.End If Next i lens=Len(s):n=lens For i=l To n tmp=Mid(s/i/l)_Listl.Additem Str(a(i)Next iDo While n Mod k0 n=n 十 1 a(n)=0Listl.Additem Str(a(n)LoopFor i=l To n m=(il)Mod k+1 t=lForj=_c(i)=a(j)*b(m-l)*k+t)+c(i)t=t+lNext j Next i For i=l To n List 3.Additem Str(c(i)Next i c ff s=For i=l To lens s=s+Chr(t+64)Next iText 3.Text=s 在Text 3中输出转置后的字符串End Sub22.小强开展网上直播售货,为此购买了以下直播硬件设备:手机耳机自拍杆数 码照相机背景画无线路山器请回答下列问题:(1)在购买的直播硬件设备中,属于模数转换的设备是(多选,填序号)(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像 素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带(选填:能/不能)满足直播要求。请列式证明(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。流水号为2019030602的售货记录中,已成交的商品类别数是(填写数字),该流水号的总利润是 元(填写数字,保留1位小数)图a(4)为了快速了解各类别商品的利润,小强用python编程处理。处理的结果界面如图b 所示。部分代码如下,请在划线处填写合适的代码。ABCDEFG1货号类别O夕讲价售价数量流水号成交与邕(0-未成交1-成交)213糕点阿尔卑斯棒棒桶(香蕉)0.30.5420190306011318钱点120g上好佳缤纷什锦软糖3.84.15320190306011421饮料480ml库叶冰红基22.32201903060105饮料50G乐事(青柠味)2.52.932019030602163饼干小熊维尼灌心饼(京莓味)4.24.5420190306020722糕点8的康师僖融E葱香奶油)22.812019030602085饮料596nll娃哈贻纯真年代0.8142019030602195g妍伊不营养舒化奶(全脂型)33.530201903060201050薯条上好佳畚茄薯条229320190306020113饼干小熊维尼灌心饼(草莓味)4.24.5420190306031126糕点18g妙脆角(葱香第味)0.80.922019030G031523524饮料农夫果园13%楂汁3.33.532019030699152541饮料阿;r卑斯棒棒糖(草莓味)0.20.542019030699152647糕点“上好隹”天然薯片2.53120190306991类别利润直方图图bimport pandas as pdimport numpy as npimport matplotlib.pyplot as pit detail=pD.read_excel(_)print(detail)for i in range(len(detail:):if detail1成交与否 detail/lirun,=_dg=detail类另lirun.groupby(by=类别)print(“总利润,detaillirun.sum()数据可视化代码略23.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为探秘水仙 花数。(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的:“水仙花数”是指一个 三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33,那么这个数就是一个“水仙花数”。百度属于搜索引擎(全文,分类)(2)为了求解100-999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设 计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:运行结果;k=】00k=999 a=k/100;工/:i为k的门位bkZ/10%10=一:b为k件升位c=k%10 th注:c 为 k Hj 彳、位k=a*a*a+b*b*b*c*cc:print(k,-足水仙日效)k=1二 RESTART:D水仙花数153是水仙花数.370是木仙花数.371是水仙花数.407是水仙花数.k是可以重新赋值的,k是变量还是常量?程序中处有空缺,请补充完整处的代 码。程序中逐一验证了 100到999之间所有的三位数是否符合“水仙花数”的定义条 件,这种算法叫做(解析法,枚举法,递归法,二分法)。(3)在研究成果展示环节,张轩小组可以使用什么软件制作探秘水仙花数的研究成 果报告?()24.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二 个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时一,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。a=int(input(请输入第一个数:)fh=input(请输入运算符:)b=int(input(请输入第二个数:)flag=Trues=_if fh in s:iffh=+:c=a+beliffh=-:c=a-beliffh=*:c=a*belse:if_print(除数不能为0!)flag=Falseelse:c=a/bif flag=True:print(运算的结果为:+)else:print(运算符不正确)25.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金 突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.def convert(s):m=0le=len(s)key=sle-lif key=B:n=2elif key=D:else:n=16i=0while i=0and c=Aand c=F:a=ord(c)-ord(A)+10i+=lreturn m s=input(请输入算式)result=0;suanful=;suanfu2=;sl=for i in range(len(s):c=siif c=+or c=-or c=:suanful=suanfu2suanfu2=cif suanful=:result=tif suanful=+:result=result+tif suanful=-:result=result-tsl=else:sl=sl+cprint(计算结果为+str(result)+D)(1)将程序横线处补充完整(2)如输入“1110B+10D-30H=则输出结果为 o26.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过 增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位 中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:接收到的每个字节及校验码1的个数传输止吸1001010014错误0110101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校 验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制码为“101011011”,传输过程(选填:是/否)存在差 错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input(请输入9位二进制编码:)code=10:A,ll:B,12:C,13:D,14:E,15:Fk=0;p=0;ans=/z/,for ins#统计9位二进制编码中“1”的个数k=k+int(i)if:print(传输错误!。else:print(传输正确!。for j in range(0,8,4):p=int(sj:j+4,2)#int(x,base):将x(字符串或者数字)按照base进制转换成整数if 0=p I(1)students的数据类型是。(2)scores的数据类型是。(3)在scores中,每个字符与后面的数值共同构成了一个。(4)len(students)的返回值是。(5)print(len(scores)的输出结果是。28.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1*3+5*3+3*3=153。这类三位数也被叫做自恋数、自累数或者阿姆斯特朗数。问题求解设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需 得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程 序,在空白处填写适当的表达式或语句,使程序完整。print(三位数之内的水仙花是:)for x in(100,1000):b=x/100s=(x/10)_g=一lfx=(b*3+s*3+g*3):print(_)29.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在 ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所 示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。请根据流程图的每个步骤,填写程序段编号,如A:B:D:。现填写C、E、F、G 对应的程序段编号.C:E:F:G:图a图b7 9 0 2 9 5 3 7 5 48 19877 7 66 5展设系善强进家持全济 发建体完加推国坚健经灾KF|HtE一 的峪围野要T1 中就、买展镜 展的济人爱国新 壬展显尸客一卷 u-It 建家济庠 化国经昌W电 代为何命 建.现作1-15升 国鱼、耳曲加捏 我用X国:在亡前卷节量e 新面才体力力 刨.小1二 坚把世需辔封:问士拇国弟 国苦豕人 1,家苫窗发 会白椁国教2.加快的字化发展经实产 动在国、投放硬1L,点.、刊 业济凰.一 代螃诣产-二 展把横推,?持灌,他土移国 nM7,力 r.a,锹壬字 出升IIH嘉 耳,4-上国登系济强图ctxt=open(Hssw.txt,r,encoding=utf-8).read()words=jieba.lcut(txt)counts=for i in range(lO):wd,count=itemsiprint(0:5F.format(wd,count)for wd in words:图 dif wd in counts:countswd+=lelse:countswd=litems=list(counts.items()items.sort(key=lambdax:xl,reverse=True)import jieba 30.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。代码如下:n=int(input(请输入一个十进制数:)result=while n0:result.append(T)n=result.reverse()for i in result:print。,end=)(1)程序代码中处正确的代码是()OA.n%2 B.n/2 C.n/2 D.n*2(2)程序代码中处可能的代码是()oA.n%2 B.n/2 C,n/2 D.n*2【参考答案】*试卷处理标记,请不要删除一、程序填空1.total=0 i%3=2 and i%5=3 and i%7=2 aj【详解】本题主要考查Python程序的执行与调试。变量total用来统计有多少种情况,初始值为 0,第一空填total=0。当他们分成三人一组时,发现最后多出两个;当他们分成五人一 组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为 i%3=2 and i%5=3 and i%7=2,满足if条件时,将该值加到列表a中,故第二空 填i%3=2 and i%5=3 and i%7=2O最后通过for循环输出所有可能的数,用变 量j控制,故第三空填aj。2.y y show()【详解】本题主要考查Python程序绘制图像。绘制y=x2-2x+l的图像,故此处填y。根据横纵 坐标x和y绘制图,故此处填y。此处调用显示函数show(),故填show。3.if print else【详解】本题主要考查Python程序的执行与调试。secret是随机生成的数,sc是你猜的数字,此 处是判断CS与secret的大小,故填if。如果cs大于secret,贝lj输出唉,猜大啦,故填 printo如果cs小于secret,输出“嘿嘿,猜小了!”,故填else。4.s=s+kk=k+5prints)【详解】本题主要考查Python程序的执行与调试。s=0,k=l,计算S=l+6+ll+-+101,循环条件是 k|print(i,end=?)7.n=n-l 或 n-=l B【详解】本题主要考查算法及Python程序设计。此处是判断x是否为数字,若不是数字,则n递 减取前一位字符继续进行判断,故此处填出41或n-=l。当while循环结束,表明此时x 为数字,若int(x)%2=0,即x为偶数,输出双号,否则输出单号,故选B选项。8.A A s-max-min【详解】本题主要考查Python程序的执行与调试。在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry是Tkinter用来接收字符串等输入 的控件,该控件允许用户输入一行文字),故选A选项。题目中算法描述采用的是伪代 码,故选A选项。从总分中s中去掉最高分max和最低分min,求出其他4位评委的平 均分aver作为选手的最终得分,故此处填s-max-min。9.解析法或解析A【详解】本题主要考查Python程序的执行与调试。山算法分析可知,本题采用的算法是解析法或 解析。3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3s=6,故选A选项。10.pw=input(请输入密码:)password=123456i=lwhile(i=3):if pw=password:print(恭喜你进入系统!)breakelse:print(请重新尝试:,i)pw=input(请输入密码:)i=i+l【详解】本题主要考查程序设计。可以通过Python程序设计语言实现题干要求,可以通过while循 环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:pw=input(请输入密码:)password=123456i=lwhile(i5t3 s top$13甘由“呼山话黛人第三小国学的物、if$t2 st3:E i 5if 3tl X t2-;.1 2 Tl rtop=st2g ttlst1*st2st2 it3*tw-n?st3 x gif itl stl=st3,仁3 noatu卬ut,诵输入驾二位同学的成41 )二5t3-top贝3,f lows岬41谓人第三位耳孕的成第1*)if st2 si3i:Iif til 2:1 1-s rti;1呼=st2B Mlttl It2st2 a st3st2,g*-?ist3 s gif stl n3-1-print=RESTART:C:/Use rs/Mic hae l/De sktop/P ython程序/设计 以内的数中能同时被3或5整除的个数.py=能同时被3或5整除的数是:15 30 45 60 75 90能同时被3或5整除的个数是:6 14.n r n【详解】本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第 一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余 数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约 数。由n=min(x,y)可知最小值为n,故处为n,由r=m%n可知余数为r,故处为r,最后的除数是n(即最大公约数为n),故处为n。15.将year转换为整型数据,并赋值给year And year%100!=0 or year【详解】本题主要考查Python程序设计。input接收的数据类型是字符串型,该语句表示将year 转换为整型数据,并赋值给year。判断某一年是否是闰年的方法是年份数能被4整除,但 不能被100整除,或者年份数能被400整除,故第二、三、四空分别填Andyear%100!=0。r最后输出打印某一年是否是闰年,需要将year转换为字符型。16.原理:通常蒙特卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些山于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法 是一种有效的求出数值解的方法。一般蒙特卡罗方法在数学中最常见的应用就是蒙特卡 罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过 程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*-coding:utf-8-*-import randomimport mathdef monteCarlo(N):i=0count=0while i=N:x=random.random()y=random.random()if pow(x,2)+pow(y,2)1:count+=1i+=1pi=4*count/N print(pi)monteCarlo(lOOOOOO)【详解】本题考查的知识点是Python程序。原理:通常蒙特卡罗方法通过构造符合一定规则的随 机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没 有解析解的问题,蒙特卡罗方法是一种有效的求出数值解的方法。一般蒙特卡罗方法在 数学中最常见的应用就是蒙特卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个 主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特 卡洛方法实现求解圆周率#!/usr/bin/Python#-*-coding:utf-8-*-import randomimport mathdef monteCarlo(N):i=0 count=0 while i=N:x=random.random()y=random.random()if pow(x,2)+pow(y,2)1:count+=1 i+=1 pi=4*count/N print(pi)monteCarlo(1000000)17.maxi arrli maxi【详解】本题主要考查Python程序执行与调试。变量maxi用来保存数组的最大值,初始值赋值为 最小值-32768,第一空填maxi,通过for循环依次比较当数组元素大于maxi时,更新 maxi的值为该元素继续循环直到与所有元素比较完,第二空填arrl,最后输出最大值是 maxi,故第三空填maxi。18.x cj【详解】本题主要考查Python程序执行与调试。从键盘输入10个学生的测试成绩,range(a,b)的 范围是从ab,但不包括b,故第一空填10o每输入一个数x,将其通过append函数加 到列表cj中,故第二空填X。求最大值用max函数,求最小值用min函数,故第二空填 Cjo19.n=len(a)sum+=l 或 sum=sum+l 6【详解】本题主要考查Python程序调试与执行。变量n用来保存数组a的长度,使用len函数,故此处填n=len(a)o使用for循环统计出80分(含80)以上的人数,用变量sum统计满 足条件的人数,当满足if条件时,sum变量递增,故此处填sum+=l或sum=sum+:L。执 行上述程序段后,sum=6,故输出的内容是6。20.i%j=0 t=i t=t/10【详解】本题主要考查Python程序执行与调试。此处是处理从2开始到i开方加1,若能整除i 则表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j=0。若i是素数,则将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填 t=i0同理此处取出个位数后,更新t的值继续循环,故此处填t=t10。21.a(i)=Asc(tmp)-64 或 a(i)=Asc(tmp)-Asc(A)+l i-m+lT。i-m+k(3)t=(c(i)-l)Mod 26+1【详解】本题考查乘法运算规则的理解以及转置矩阵中行列数据的读取。(1)根据算法描述,图中(1)处的值为15x5+14x1+0 x2+0 x9=89。(2)程序先随机生成数组b,其下标为1到kxk,并以行列的形式显示在列表框Iist2中(即为转置矩阵),然后读取大写字符串s中的 每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。代码处为字符转 成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。根据题干描述“字符AZ对应数值126”,此处为将tmp获取的字符通过Asc函 数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc(A)+1”。代码处为循环变量j的取值范围,根据乘法规则,变量j的范围是每 一段中的1到k之间的值,需要获取每一段的起始位置下标,结合上文得到的m值,可得 循环变量的范围是“i-m+lToi-m+k”。代码处是将计算结果c(i)按原长度转换成相 应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod 26,则导致数值26的结 果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod 26+1”。22.不能 1080*1920*24*25*1/1024/1024/10010.8Mbps,大于网络传输带宽 10Mbps,所以不能满足直播要求。1 2 或 2.0 shqk.xlsx或shqk.xlsx”(detail售 价-detail进价)*detain数量【详解】本题主要考查Python程序设计相关知识点。手机、数码照相机均属于模数转换的设备,可以实现模拟信号与数字信号的转换,故填。根据直播平台要求,直播画面是 1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优 化的情况下,小强家目前10Mbps的宽带不能满足直播要求。视频存储容量=像素*颜色 深度*帧频*时长,1080*1920*24*25*1/1024/1024/100七10.8Mbps,大于网络传输带宽 10Mbps,所以不能满足直播要求。由图可知,1表示成交,0表示未成交,流水号为 2019030602的售货记录中,已成交的商品类别数是1,都是饮料(即货号17和货号5)。该流水号的总利润是(2.925)*3+(1-0.8)*4=2.0,故填2或2.0。该表格文件名是 shqk.xlsx,此处读入该表格文件,故填shqk.xlsx或shqk.xlsx”。利润=(售价-进价)*数量,数据已经读到detail中,故此处填(detail售价-detail进价)*detail数量1。23.全文变量 k+1 枚举法 Word/WPS/PowerPoint 等【详解】本题主要考查Python程序的执行与调试。百度属于全文搜索引擎,也是关键词搜索。变量可以反复赋值,故k是变量。循环体执行完,k递增,继续找水仙花数,故此处填 k+lo逐一验证了 100到999之间所有的三位数是否符合,这种算法叫做枚举法。在研 究成果展示环节,张轩小组可以使
展开阅读全文