1、(完整版)python真题程序填空阅读填空程序试题一、程序填空1有如下程序段: sum=0 for i in range(1,20,3) : sum+=i print(“sum=”,sum)(1)循环变量i的初值为:_,终值为:_,步长为:_。(2)该程序执行后,输出的结果为:_。2程序编写求1+22+32+1002的结果 _ _ _ _input(“运行完毕,请按回车键退出.”)3完善程序。以下是计算S=1+6+11+101的程序代码。请你在处填写正确的语句。s=0k=1while(k=101)_s=0k=1while(k101): k=k+5 s=s+kprint(s+1)4调试程序。请阅
2、读以下程序并写出运行结果。#ex16.pyi=0sum=0while i0:result.append( )n result.reverse()for i in result:print(i,end”)(1)程序代码中处正确的代码是(_)。An%2 Bn/2 Cn/2 Dn*2(2)程序代码中处可能的代码是(_)。An%2 Bn/2 Cn/2 Dn*212(最大公约数)用辗转相除法求两个正整数的最大公约数。代码如下:def gcd (m,n):r while r!0:mnn return aint(input(请输入a的值:)bint(input(请输入b的值:)print(最大公约数是: )
3、填空:_ _ _ _ _13“百鸡百钱”问题是一个有名的数学问题,出自张丘建算经。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?打开文件“考生文件夹644百鸡百钱.py”,完善程序实现以下功能并保存。(1)请不要更改源程序的结构,删除原题里的、。填写正确的代码,使程序完善。(2)运行程序,运行结果如图所示。# 请不要更改源程序的结构,删除原题里的、。填写正确的代码,使程序完善money=100 #一共100文钱num=100 #一共100只鸡cock_price=5 #公鸡价格5文hen_pric
4、e=3 #母鸡价格3文threechick_price=1 #3只小鸡1文for cock_num in range(1,money/cock_price+1): #公鸡只数可能为1-20 for hen_num in range(1,_): #母鸡只数可能为1-33 for chick_num in range(1,_): #(3小鸡)只数可能为1-100 money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price num1=cock_num+hen_num+chick_num*3 if money1=mon
5、ey and num1=num: print (cock_num,hen_num,_) #(小鸡数)input(运行完毕,请按回车键退出.)14请在空格处填写正确的代码,使程序完善。实现功能:用辗转相除法求解两个正整数的最大公约数。x = int(input(请输入第一个正整数:)y = int(input(请输入第二个正整数:)m = max(x,y) #找出x,y中的最大值n = min(x,y) #找出x,y中的最小值r = m%n #求得最大值除以最小值后的余数while r!=0: #如果余数不等0,则进行以下循环 m =_ #把最小值赋给m n =_ #把余数赋给n r = m%n
6、 #求得最大值除以最小值后的余数print(这两个数的最大公约数为:,_)input(运行完毕,请按任意键退出.)15完善程序实现如下功能并保存:有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。编写程序,计算出第5个人的年龄并显示。def age(n): if n = 1: c = _ else: c = age(n - 1) - 3 return _print(第5人的年龄:,age(_)input(运行完毕,请按回车键退出.)16学校气象小组使用自动测温仪在校园测量了1月12日
7、的气温,并利用Python绘制了这天的气温图,该图如下所示:(1)在以上Python程序中,变量Y的数据类型是_。(2)在以上Python程序中,第8行横线处的代码是_。(3)通过观察,气温釆样间隔时间是_个小时。17已知6月份10位技术考试成绩:12345678910788889908376759810065技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:a=78,88,89,90,83,76,75,98,100,65_sum=0for i in range(n): if ai=80:_print(sum)执行上述程序段后,输出的内容是_18求解a到b内(包含a和b)所有的
8、质数,并对每个质数的每一位数字求和。请完善程序。程序如下:import mathdef IsPrime(i):if i=1:return Falsefor j in range(2,int(math.sqrt(i)+1):if_:return Falsereturn Truea=int(input(请输入a:)b=int(input(请输入b:)summ=0for i in range(a,b+1):if IsPrime(i):_while t0:summ=summ+t%10_print(数字和为:,summ)19辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。它是已知最古
9、老的算法,其可追溯至公元前300年前。辗转相除法的算法步骤是,对于给定的两个正整数m、n(mn),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。描述一描述二描述三输入两个正整数m,n(mn);计算m除以n所得的余数r;m=n,n=r;若r=0,则m,n的最大公约数等于m;否则转到步骤;输出最大公约数m;结束。(1)描述一是_描述法;描述二是流程图描述法;描述三是计算机程序语言描述
10、法。(2)在描述三中代码4到6行作用是_。(3)在描述三程序设计中,补充代码第8行划线处为_。20现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。于是小C开展了有关这个项目活动的探究。根据实际情况,回答问题。(一)收集、分析数据,运用数理思维建模登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:滴滴快车(普
11、通型)计价规则时段起步价里程费时长费普通时段8.00元1.35元/公里0.20元/分钟00:00-06:308.50元2.40元/公里0.50元/分钟06:30-09:008.50元1.50元/公里0.45元/分钟21:00-23:008.50元1.50元/公里0.40元/分钟23:00-00:008.50元2.40元/公里0.50元/分钟注意:1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。小C同学19:33
12、从“南内环恒地大厦停车场入口”到“坞城新纪元大酒店(长风店)”乘坐滴滴快车(普通车型),里程4.1公里,时长约21分钟,按照表中的计费规则,小C同学此次出行应该支付的车费是:车费=8+(4.1-3.3)1.35+(21-9)0.2=9.68。(1)小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:_A数字化可视化表达工具 B信息加工工具C三维设计工具 D信息检索工具(2)假设Tot1表示时长费,Tot2表示里程费,S表示实际里程,T表示实际时长,Cost表示应支付费用。运用数学解析式归纳出计费公式为:如果时长超过9分钟,则Tot1=_。如果里程小于等于3.3公里则Tot2=_,否
13、则Tot2=_。应支付费用:Cost=_。(二)运用算法描述方法将问题解决步骤化小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。(3)自然语言描述:第一步:_第二步:计算时长费Totl第三步:计算里程费Tot2第四步:_第五步:_(4)流程图描述:(如图)流程图中,表示计算与赋值的是_,表示算法流向的是_。A B C D E. (5)算法描述中,用到了三种基本控制结构,分别是_、_和_。如图示中的流程图使用的控制结构是_和_。(选填:顺序结构、选择结构、循环结构、树型结构)(6)一个算法必须有_或多个数据输入。有_或多个数据输出。(
14、选填:零个/一个)(三)编写、调试、运行程序,验证算法并解决问题_21某种数据加密方法描述如下(加密前数据是ASCII字符):以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。数据加密规则:数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。位置变换:用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,8。数值变换:位置变换后,依次取出各个字符进行数值变换:把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255
15、之间的整数)按位异或运算。异或运算()规则:如果a、b两个值不相同,则ab结果为1;如果a、b两个值相同,则ab结果为0,即:00=0,10=1,01=1,11=0。把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是数组c36152847则数据位置变换如下:如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:变换前01110100密钥m00100011变换后01010111(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后
16、的结果是_(填二进制数据)。(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。Const n = 1024Dim c(1 To 8) As IntegerPrivate Sub Form _ Load()产生位置变换密钥数组c,代码略End SubFunction convert(c As Integer)As String程序功能:把整数c转成8位二进制数,代码略End FunctionPrivate Sub Command1_Click()Dim s As String,st As String,ss As String,res As StringD
17、im i As Integer,j As Integer start As IntegerDim a(1 To n) As String,b(1 To n) As Strings = Text1. Textst = convert(Val(Text2. Text)For i = 1 To Len(s)a(i) = Mid(s,i,1)Next ii = 1:start = -8Do While_If i Mod 8 = 1 Then start = start + 8b(i)=_i = i + 1LoopFor j = i To Len(s)b(j) = a(j)Next jFor i = 1
18、 To Len(s)_For j = 1 To 8If Mid(ss,j,1)= Mid(st,j,1)Thenres = res + 0 Else res = res + 1按位异或Next jNext iText3. Text = resEnd Sub22学习了Python绘制图形操作后,信息小组接到了编程演示的任务。为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。代码如下:import turtleturtle. bgcolor(black)colors=red, green, blue, yellowfor x range(100):turtle. pencolor(color
19、sx%4)turtle. circle(x)turtle. left(90)请分析任务,完成下列题目。(1)程序中处应填写(_) 。Aprint Binput Cin Dcolors(2)程序中x%4的作用是(_)。A计算x乘以4的结果B计算x除以4的整数部分C计算x除以4的小数部分D计算x除以4的余数(3)执行此程序,绘制出圆形的总颜色数是(_)。A1 B4 C5 D100(4)执行此程序,绘制出圆形的总个数是(_)。A1 B4 C99 D100(5)此程序属于程序设计结构中的(_)。A顺序结构 B分支结构C循环结构 D跳转结构23模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(
20、加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。a=int(input(请输入第一个数: )fh=input (请输入运算符: )b=int(input(请输入第二个数: )flag=Trues= _ if fh in s:if fh=+:c=a+belif fh=-:c=a-b elif fh=*:c=a*belse:if _print(除数
21、不能为0! )flag=False else:c=a/bif flag=True:print(运算的结果为: +_)else:print (运算符不正确)24奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:接收到的每个字节及校验码1的个数传输正误1001010014错误011
22、0101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制码为“101011011”,传输过程_(选填:是/否)存在差错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input(请输入9位二进制编码:)code=10:A,11:B,12:C,13:D,14:E,15:Fk=0;p=0;ans=“”for i in s:#统计9位二进制编码中“1”的个数k=k+int(i)if _:print(
23、传输错误!)else:print(传输正确!)for j in range(0,8,4):p=int(sj:j+4,2)# int(x,base):将x(字符串或者数字)按照base进制转换成整数if 0=p=9:ans=ans+str(p)else:ans=_print(字节编码用十六进制表示:,_25阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。students= 小明,小红,小刚scores= 小明:95,小红:90,小刚:90print(len(students)print(len(scores) (1)students的数据类型是_。(2)scores的数据类型是
24、_。(3)在scores中,每个字符与后面的数值共同构成了一个_。(4)len(students)的返回值是_。(5)print(len(scores)的输出结果是_。26小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。请根据流程图的每个步骤,填写程序段编号,如A:B:D:。现填写C、E、F、G对应的程序段编号C:_E:_F:_G:_图a 图b图c 图d27请编写Python程序,实现如下功能需求:1)程序
25、运行后,给出文字提示:“请输入一个正整数:”2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。3)不要超过5行代码。程序运行举例:28蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率的原理、方法和Python程序。29一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。30在一千多年前的孙子算经中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数
26、之剩三,七七数之剩二,问物几何?”。即一个数除以3余2,除以5余3,除以7余2,求这个数。i=_while (i%3!=2 _ i%5!=3 or i%7!=2): i=_ print(i)【参考答案】*试卷处理标记,请不要删除一、程序填空1初值为1 终值为:20 步长为:3 sum=70 【详解】本题主要考查Python循环结构。由代码for i in range(1,20,3) ,可知循环变量i的初值为1,终值为20,步长为3。该程序执行后,输出的结果为sum=sum+i=0+1+4+7+10+13+16+19=70。2total=0 #变量可任选(符合规则) for i in range
27、(1,101): total=total+i*i #total=total+i*2 print(total) 【详解】本题主要考查Python程序的编写。变量total用来统计最终的计算结果,其初始值为0,故填total=0 #变量可任选(符合规则)。求1+22+32+1002的结果,用for循环结构,变量i的范围是从1到100,故填for i in range(1,101):。计算语句是total=total+i*i #total=total+i*2。最后用print()函数输出计算结果total,故填print(total)。3 s=s+k k=k+5print(s)【详解】本题主要考查P
28、ython程序的执行与调试。s=0,k=1,计算S=1+6+11+101,循环条件是k=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。40【详解】本题主要考查Python中While循环结构。Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。【点睛】5参考答案1:for i in range(2,101): j=2 while j=i: if i%j=0:
29、break j+=1 if j=2 tall_day+=1 110 【详解】本题主要考查Python程序的执行与调试。此处是取出字符串day中的月份赋给变量month,month是第5第6位,strstart:end,start会包含在结果中而end却不会,故此处填int(day5:7)。此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4=0 and year%100!=0 or year%400=0) and month=2。如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。
30、输入“2020-4-19”为当年的第110天。9s = input(input a string:)letter = 0 # 统计字母space = 0 # 统计空格digit = 0 # 统计数字other = 0 # 统计其他字符for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: other += 1print(字母:,letter,空格:, space,数字:,digit,其他字符:, other)【详解】本题主要考查程序设计。题干要
31、求可通过Python程序实现,使用for循环、多条件分支结构。其中实现分别统计出其中英文字母、空格、数字和其它字符的个数可通过函数isalpha、isspace、isdigit来判断统计,具体代码如下:s = input(input a string:)letter = 0 # 统计字母space = 0 # 统计空格digit = 0 # 统计数字other = 0 # 统计其他字符for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: ot
32、her += 1print(字母:,letter,空格:, space,数字:,digit,其他字符:, other)10a=int(input( 请输入数 a:)b=int(input( 请输入数 b:)if ab: t=a a=b b=t print(用户输入的数按小到大排序结果是: , a, b)else :print(原样输出 ,a,b)【详解】本题主要考查Python程序设计。使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,则交换,否则原样输出,具体代码如下:a=int(input( 请输入数 a:)b=int(input( 请输入数 b:)if
33、 ab: t=a a=b b=t print(用户输入的数按小到大排序结果是: , a, b)else :print(原样输出 ,a,b)11A C 【详解】本题主要考查Python程序设计。此处将n取余2,用append函数将值追加到列表result中,故此处填n%2,选A选项。当n大于0时,n整除2继续循环,循环结束使用reverse函数,将result列表中的元素逆转,故此处填n/2,选C选项。12m%n r rm%n n gcd(a,b) 【详解】本题主要考查Python程序设计。首先对m和n求余得到r,判断r是否为0,故此处填m%n。如果r为0则结束,否则更新m的值为n,n的值为r。
34、此处用更新后的m和n继续求r,继续判断,故填rm%n。循环结束后当r=0时,n即为最大公约数,故填n。输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。1334或 money/hen_price+1 101 或 money/threechick_price+1 chick_num*3 【详解】本题主要考查Python程序执行与调试。母鸡只数可能为1-33,对比最外层循环范围,第一空填34或 money/hen_price+1。小鸡只数可能为1-100,同理第二空填101 或 money/threechick_price+1。公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。14n r n 【详解】本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。