青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题

青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题

ID:76157714

大小:1.59 MB

页数:27页

时间:2023-12-16

上传者:黯然沉默
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第1页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第2页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第3页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第4页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第5页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第6页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第7页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第8页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第9页
青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题_第10页
资源描述:

《青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

青少年编程等级考试∶Python编程二级试卷3程序填空阅读填空程序试题一、程序填空1.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。它是已知最古老的算法,其可追溯至公元前300年前。辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。描述一描述二描述三①输入两个正整数m,n(m>n);②计算m除以n所得的余数r;③m=n,n=r;④若r=0,则m,n的最大公约数等于m;否则转到步骤②;⑤输出最大公约数m;⑥结束。(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。(2)在描述三中代码4到6行作用是__________。(3)在描述三程序设计中,补充代码第8行划线处为__________。2.将下列程序代码补充完整:某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。age=float(input('请输入age='))HRrest=float(input('请输入HRrest='))gender=input(“请输入maleorfemale:”)if____________________:____________________else: _____________________low=(n-age-HRrest)*0.6+HRresthigh=(n-age-HRrest)*0.8+HRrestprint('最适宜的心率是:',low,'~',high)input(“运行完毕,请按回车键退出...”)3.完善程序。以下是计算S=1+6+11+⋯+101的程序代码。请你在处填写正确的语句。s=0k=1while(k<=101)__s=0k=1while(k<101):k=k+5s=s+kprint(s+1)4.编写程序,找到并输出100以内的素数。5.以下是计算s=1+6+11+...+101的程序代码,请补全程序。s=0foriinrange(1,102,):s=print(s)请补充完成上述程序①_________②_________6.程序分析题学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一个最低分,计算其余4位评委的平均分,作为选手的最终得分。max记录最高分;min记录最低分;s记录六位评委的总分;aver记录最终得分。 第1步:从文本框中分别读入6位评委的打分并依次存入到a(1)至a(6)中第2步:将第1位评委的打分a(1)分别赋给最高分max,最低分min和总分S第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。max=a[0]min=a[0]s=0foriinrange(6):s=s+a[i]ifa[i]>max:max=a[i]ifa[i]0:summ=summ+t%10_________print("数字和为:",summ)16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。17.某字符转置算法描述如下:将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);每一段中K个数据与K*K转置矩阵进行乘法运算;将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。乘法运算规则如下:第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2⋯K)例如:字符串s=PYTHON,区块大小K=4,的转置过程如下: (1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。(2)请在划线处填入合适代码。PrivateSubCommandl_Click()Dima(1To100)AsInteger′存储字符串,长度不超过100个字符Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10Dimc(1To100)AsLongDimsAsString,tmpAsStringDimkAsInteger,tAsInteger,iAsInteger,jAsIntegerDimnAsInteger,mAsInteger,lensAsIntegers=Textl.Text′在Textl中输入原始字符串k=Val(Text2.Text)′在Text2中输入区块大小KRandomize Fori=1Tok^2b(i)=Int(Rnd*9)+1tmp=tmp十Str(b(i))IfiModk=0ThenList2.AddItemtmptmp="".EndIfNextilens=Len(s):n=lensFori=1Tontmp=Mid(s,i,1)①__________Listl.AddItemStr(a(i))NextiDoWhilenModk<>0n=n十1a(n)=0Listl.AddItemStr(a(n))LoopFori=1Tonm=(i―1)Modk+1t=1Forj=②__________c(i)=a(j)*b((m-1)*k+t)+c(i)t=t+1NextjNextiFori=1TonList3.AddItemStr(c(i))Nextis=″″Fori=1Tolens③__________s=s+Chr(t+64)}NextiText3.Text=s′在Text3中输出转置后的字符串EndSub18.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器请回答下列问题:(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号) (2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:能/不能)满足直播要求。请列式证明__________。(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)图a(4)为了快速了解各类别商品的利润,小强用python编程处理。处理的结果界面如图b所示。部分代码如下,请在①②划线处填写合适的代码。图b importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltdetail=pD.read_excel(___)print(detail)foriinrange(len(detail[:])):ifdetail[成交与否‘’][i]==1:detail[‘lirun___’]=dg=detai1[[类别‘’,‘lirun’]].groupby(by=类别’)‘print(总利润“”,detail[‘lirunum())’].s’数据可视化代码略19.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。defgs(n):#字符串长度统一iflen(n)>=5:n=_____#取字符串的前5个字符else:n=n+""*(5-len(n))returnnr=1000;x=100;y=15;z=0.8#从系统中分别获取消费额度、满和减以及打折的数值dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"]#某顾客所点菜品名称num=[1,1,1,1,3]#某顾客所点菜品数量mon=[46,45,68,16,1]#某顾客所点菜品单价print("菜品名称","数量","小计")_____foriinrange(len(dis)):print(gs(dis[i]),num[i],"",num[i]*mon[i])s=s+num[i]*mon[i]ifs>=r:total=s*zelse:______print("消费合计:",s)print("应收现金:",total)20.某企业开展“运动打卡动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。(1)实现上述功能的程序如下,请在划线处填入合适的代码。 t=int(input(“请输入您本月累计运动时间(时):”))ift<0:print(“输入错误”)else:ift<30:①_elift<45:m=300②_____m=450else:m=500print(“您的奖励是:”,m)(2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误/B.您的奖励是:0/C.您的奖励是:500)21.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:接收到的每个字节及校验码1的个数传输正误1001010014错误0110101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制码为“101011011”,传输过程__________(选填:是/否)存在差错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input("请输入9位二进制编码:")code={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}k=0;p=0;ans=“”foriins:#统计9位二进制编码中“1”的个数k=k+int(i)if____:print("传输错误!")else: print("传输正确!")forjinrange(0,8,4):p=int(s[j:j+4],2)#int(x,[base]):将x(字符串或者数字)按照base进制转换成整数if0<=p<=9:ans=ans+str(p)else:ans=___print("字节编码用十六进制表示:",___22.阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。students=['小明','小红','小刚']scores={'小明':95,'小红':90,'小刚':90}print(len(students))print(len(scores))(1)students的数据类型是______________。(2)scores的数据类型是_____________。(3)在scores中,每个字符与后面的数值共同构成了一个____________。(4)len(students)的返回值是____________。(5)print(len(scores))的输出结果是__________。23.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。print("三位数之内的水仙花是:")forxin___(100,1000):b=x//100s=(x//10)___g=___Ifx=(b**3+s**3+g**3):print(___)24.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示: 实现上述功能的程序如下,请在划线处填入合适的代码。defisprime(x):foriinrange(2,x):if①__________:returnFalsereturnTruen=int(input(“请输入一个正整数n:”))c=0k=3whilek<=n-2:ifisprime(k)and②___________:print(k,k+2)③___________k=k+1print(“共有”+str(c)+“对双胞胎数”)25.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。请根据流程图的每个步骤,填写程序段编号,如A:⑦B:①D:③。现填写C、E、F、G对应的程序段编号.C:__________E:__________F:__________G:__________图a 图b图c 图d26.编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。判断这一天是这一年的第几天。以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。特殊情况,当输入的年份是闰年时,2月份有29天。闰年的判断方式如下:I、能被4整除,但不能被100整除;II、能被400整除;(1)“2020-05-20”这一天是这一年的第_________天。(2)编写Python代码如下,在划线处填入正确的代码___________________________________________________(3)加框处的代码有误,请改正。改正:_________________mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数s=input("请输入年月日:")'month=int(s[5:7])①sum=0foriinrange(②):sum+=mon[i] sum+=dayif:isleap=Trueelse:isleap=Falseif③sum+=1print("这一天是当年的第"+str(sum)+''天'')27.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2⋯⋯依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。运行样例如下所示:样例1:输入:2-163-91475-4输出:正确样例2:输入:2-163-91475-5输出:错误(1)Python程序实现如下,请在划线处填入正确的代码:s=input("输入物品代码:")a=[]foriinrange(0,13):if___a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象sum=0foriinrange(0,9):____sdm=sum%10___ifsdm==ydm:print("正确")else:print("错误")28.使用Python自身提供的IDLE集成开发环境录入以下代码及调试运行,检测结果。#鸡兔同笼forxinrange(1,23):y=35-xif4*x+2*y==94: print("兔子有%s只,鸡有%s只"%(x,y))特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。29.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。30.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?请将下列程序补充完整。tc=1020c=0while______________:tc=tc-(tc/2+2)_____________print(c)【参考答案】***试卷处理标记,请不要删除一、程序填空1.自然语言确保m>=nr!=0【详解】本题主要考查算法及Python程序实现。①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。②在描述三中代码4到6行,当m=n。③由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!=0。2.gender==’malen=220n=210’【详解】本题主要考查Python程序的调试与执行。男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率。①故此处判断如果性别是男性,n=220,如果是女性,则n=210,故填gender==’male。②’if条件满足时,n=220。③if条件不满足,即else部分,n=210。3.s=s+kk=k+5print(s)【详解】本题主要考查Python程序的执行与调试。s=0,k=1,计算S=1+6+11+⋯+101,循环条件是k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。 4.参考答案1:foriinrange(2,101):j=2whilej<=i:ifi%j==0:breakj+=1ifj1head=llist[k][1]llist[k][1]=llist[t][1]k=llist[k][1]【详解】本题主要考查Python程序执行与调试。①for循环体是将索引0-n追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表头,初始化为0,故填head=0。③最后剩下一个,其余人都将被杀掉,故循环条件是long>1,变量long控制元素个数,故填long>1。④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]9.【详解】本题主要考查Python程序的执行与调试。运行结果如下: 10.s=input("请输入要转换的字符)c=len(s)#len求字符串长度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值else:print(chr(ord(s[i])+3))【详解】本题主要考查程序设计。题干要求可通过Python程序条件分支结构实现,具体代码如下:s=input("请输入要转换的字符)c=len(s)#len求字符串长度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值else:print(chr(ord(s[i])+3))11.s=input('inputastring:')letter=0#统计字母space=0#统计空格digit=0#统计数字other=0#统计其他字符forcins:ifc.isalpha():letter+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else: other+=1print("字母:",letter,"空格:",space,"数字:",digit,"其他字符:",other)【详解】本题主要考查程序设计。题干要求可通过Python程序实现,使用for循环、多条件分支结构。其中实现分别统计出其中英文字母、空格、数字和其它字符的个数可通过函数isalpha、isspace、isdigit来判断统计,具体代码如下:s=input('inputastring:')letter=0#统计字母space=0#统计空格digit=0#统计数字other=0#统计其他字符forcins:ifc.isalpha():letter+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:other+=1print("字母:",letter,"空格:",space,"数字:",digit,"其他字符:",other)12.foriinrange(1,10):forjinrange(1,i+1):print(str(j)+"*"+str(i)+"="+str(i*j),end="")print("")【详解】本题主要考查Python程序的执行。九九乘法口诀表可以通过嵌套for循环实现,内层循环完一次,执行print("")换行,具体代码如下:foriinrange(1,10):forjinrange(1,i+1):print(str(j)+"*"+str(i)+"="+str(i*j),end="")print("")13.初值为1终值为:20步长为:3sum=70【详解】本题主要考查Python循环结构。由代码foriinrange(1,20,3),可知循环变量i的初值为1,终值为20,步长为3。该程序执行后,输出的结果为sum=sum+i=0+1+4+7+10+13+16+19=70。14.34chick_num【详解】本题主要考查Python程序的执行。①公鸡数量的范围1-20,forcock_numinrange(1,21)表 示变量cock_num的范围是1-20,故此处填21。②母鸡的数量可能为1-33,同理,故此处填34。③此处是按顺序使用print()函数输出公鸡数量、母鸡数量、小鸡数量,故此处填chick_num。15.i%j==0t=it=t//10【详解】本题主要考查Python程序执行与调试。①此处是处理从2开始到i开方加1,若能整除i则表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j==0。②若i是素数,则将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填t=i。③同理此处取出个位数后,更新t的值继续循环,故此处填t=t//10。16.price=int(input("请输入消费额(整数):"))ifprice<200:price=price-price*0.1else:price=price-price*0.2print("折扣后的应付金额是:",price)【详解】本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。17.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1②i–m+1Toi–m+k③t=(c(i)–1)Mod26+1【详解】本题考查乘法运算规则的理解以及转置矩阵中行列数据的读取。(1)根据算法描述,图中(1)处的值为15×5+14×1+0×2+0×9=89。(2)程序先随机生成数组b,其下标为1到k×k,并以行列的形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中的每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。代码①处为字符转成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取的字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc(″A″)+1”。代码②处为循环变量j的取值范围,根据乘法规则,变量j的范围是每一段中的1到k之间的值,需要获取每一段的起始位置下标,结合上文得到的m值,可得循环变量的范围是“i-m+1Toi-m十k”。代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod26+1”。18.①④不能1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。12或2.0‘shqk.xlsx或“shqk.xlsx’”(detai1[售‘价’]-detail[进价‘’])*detai1[数量‘’]【详解】 本题主要考查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.9-2.5)*3+(1-0.8)*4=2.0,故填2或2.0。⑥该表格文件名是shqk.xlsx,此处读入该表格文件,故填‘shqk.xlsx或“shqk.xlsx’”。⑦利润=(售价-进价)*数量,数据已经读到detail中,故此处填(detai1[售价‘’]-detail[进价‘’])*detai1[数量‘’]。19.n[0:5]s=0total=s-s//x*y【详解】本题主要考查Python程序的执行与调试。①此处通过条件分支结构取字符串n的前5个字符,当len(n)>=5时,取n=n[0:5],即索引为0、1、2、3、4,故填n[0:5]。②用变量s统计消费合计,初值为0,故填s=0。③此处else部分处理1000元以下享受每满100减15优惠。应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。20.m=0elift<60:A【详解】本题主要考查Python程序的执行与调试。①若员工在本月累计运动时间30小时以下,奖励0元,即m=0。②达到45但不足60小时奖励450元,故填elift<60:。③-1<0,不是有效值,故输出信息为“输入错误”,故本题选A选项。21.是k%2==0或(k+1)%2==1或(k-1)%2==1ans+code[p]ans【详解】本题主要考查Python程序的执行与调试。①若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。②变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2==0或(k+1)%2==1或(k-1)%2==1。③如果p是1~9之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+code[p]。④变量ans保存转换后的十六进制,故此处填ans。22.列表字典键值对33【详解】本题考查的是python语言的数据类型,列表和字典。(1)列表是写在方括号[]之间,用逗号分隔开的元素列表,students=['小明','小红','小刚']就是列表。(2)字典用{}标识,它是一个无序的“键(key):值(value)”对集合,字典当中的元素是通过键来存取的,而不是通过偏移存取。scores={'小明':95,'小红':90,'小刚':90}就是一个字典类型。(3)其中“'小明':95”就构成了一个键值对。(4)len()方法返回列表元素个数。students=['小明','小红','小刚'],里面有三个元素,故返回值是3。(5)print(len(scores)),其中scores={'小明':95,'小红':90,'小刚':90}该字典有3个键值对,故输出结果是3。23.range%10x%10或x-b*100-s*10或其它同等答案x 【详解】本题考查的是Python程序设计。水仙花数是指一个三位数,故使用range函数遍历100~999;s存放的是十位数,故可以选对x取整后再除以10求余,故第二空应填%10(求余符号%);g是存放个位,直接除以10求余,或减去前面整百和整十的数,故第三空为:x%10或x-b*100-s*10或其它同等答案;如果找到满足条件的数,则输出,故第四空为:x。24.x%i==0或x//i==x/i或其他等价表达式isprime(k+2)或isprime(k+2)==Truec=c+1或c+=1【详解】本题主要考查Python程序的执行与调试。①isprime(x)函数判断x是不是素数,此处通过for循环判断(用x依次除i,看能不能整除,i的范围时从2~x),故填x%i==0或x//i==x/i。②此处判断相差2的两个数是不是素数,若是,则输出这两个数,故此处填isprime(k+2)或isprime(k+2)==True。③c用来统计双胞胎数的对数,若满足是双胞胎数的条件,故此处填c=c+1或c+=1。25.②⑤⑥④【详解】本题主要考查算法及Python程序实现。①jieba模块是一个用于中文分词的模块,lcut方法直接返回list,流程图中分词后存入words中对应的代码是words=jieba.lcut(txt),故填②。②流程图中循环结构对应的是程序中的⑤。③对counts的值进行排序,可以使用sort方法实现,对应程序中的⑥。④使用循环结构将值一一输出,对应程序中的④。26.day=int(s[8:])或day=int(s[-2:])0,month-1isleapandmonth>2year%4==0andyear%100!=0oryear%400==0【详解】本题主要考查Python程序的执行与调试。①2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。②变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s[8:])或day=int(s[-2:])。③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。④变量isleap标记是不是闰年,如果isleap值为真且month>2,则sum需要递增1,故填isleapandmonth>2。⑤由题干闰年判断条件,可知加框处应改为year%4==0andyear%100!=0oryear%400==0。27."0"<=s[i]<="9"或s[i]in"0123456789”sum=sum+a[i]*(i+1)ydm=a[9]【详解】本题主要考查Python程序执行与调试。①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9"或s[i]in"0123456789”。②校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2⋯⋯依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。 28.错误1:兔子4只腿,最多只能是23只,而range(1,23)只取到22,没取到23,故应改为:range(1,24)错误2:缩进错误,y=35-x、if4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。【详解】本题考查的是Python调试。本题程序错误如下:错误1:兔子4只腿,最多只能是23只,而range(1,23)只取到22,没取到23,故应改为:range(1,24)错误2:缩进错误,y=35-x、if4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。调试完最终输出:兔子有12只,鸡有23只。29.原理:通常蒙特?卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特?卡罗方法是一种有效的求出数值解的方法。一般蒙特?卡罗方法在数学中最常见的应用就是蒙特?卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*-coding:utf-8-*-importrandomimportmathdefmonteCarlo(N):i=0count=0whilei<=N:x=random.random()y=random.random()ifpow(x,2)+pow(y,2)<1:count+=1i+=1pi=4*count/Nprint(pi)monteCarlo(1000000)【详解】本题考查的知识点是Python程序。原理:通常蒙特?卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特?卡罗方法是一种有效的求出数值解的方法。一般蒙特?卡罗方法在数学中最常见的应用就是蒙特?卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*-coding:utf-8-*-importrandomimportmathdefmonteCarlo(N):i=0count=0whilei<=N:x=random.random()y=random.random()ifpow(x, 2)+pow(y,2)<1:count+=1i+=1pi=4*count/Nprint(pi)monteCarlo(1000000)30.tc>0c=c+1或者c+=1【详解】本题主要考查Python程序执行与调试。①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1或者c+=1。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭