您的当前位置:首页正文

python优质程序填空阅读填空程序试题

2024-07-12 来源:客趣旅游网
python优质程序填空阅读填空程序试题

一、程序填空

1.某字符转置算法描述如下:

将字符串(均为大写字符)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)请在划线处填入合适代码。

Private Sub Commandl_Click()

Dim a(1 To 100)As Integer ´存储字符串,长度不超过100个字符 Dim b(1 To 100)As Integer 存储转置矩阵,长度不超过 10*10 Dim c(1 To 100)As Long Dim s As String, tmp As String

Dim k As Integer, t As Integer, i As Integer, j As Integer Dim n As Integer, m As Integer, lens As Integer s=Textl. Text ´在 Textl 中输入原始字符串 k=Val(Text 2.Text) ´在 Text 2 中输入区块大小K Randomize For i=1 To k^2 b(i)=Int(Rnd*9)+1 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=1 To n tmp=Mid(s,i,1) ①__________ Listl. AddItem Str(a(i)) Next i

Do While n Mod k<>0

n=n十1 a(n)=0

Listl. AddItem Str(a(n)) Loop For i=1 To n m=(i―1)Mod k+1 t=1

Forj= ②__________ c(i)=a(j) * b((m-1) * k+t)+c(i) t=t+1 Next j Next i For i=1 To n

List 3. AddItem Str(c(i)) Next i s=″″ For i=1 To lens ③__________ s=s+Chr(t+64)} Next i

Text 3.Text=s ´在Text 3 中输出转置后的字符串 End Sub

2.阅读程序。分析下列切片相关程序并回答问题。 list2=[5,6,7,8,9] print(list2[:]) print(list2[2:]) print(list2[:2]) print(list2[1:3]) print(list2[2:4])

(1)程序第一个print的输出结果是______________。 (2)程序第二个print的输出结果是______________。 (3)程序第三个print的输出结果是______________。 (4)程序第四个print的输出结果是______________。 (5)程序第五个print的输出结果是______________。 3.阅读程序。分析有关多项式的代码并回答问题。

求1!+2!+3!+……+20!的和。 n=0 s=0 t=1

for n in range(1,21): t*=n s+=t print(s)

(1)n的作用是________________。 (2)s的作用是 ______________。

(3)t的初值必须赋值为1,这是因为_________。 (4)t*=n的等价语句是 __________ (5)s+=t的等价语句是 ______。

4.完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。

import random

secret=random.randint(0,10) print(“---猜数游戏 -----”) cs=int(input(“你猜的数字是”)) while cs!=secret: _______cs>secret: _________ (“唉,猜大啦!”) __________:

print(“嘿嘿,猜小了!”)

cs= int(input(“重新猜一个靠谱的数字是:”)) print(“游戏结束,不玩了!”)

5.调试程序。请阅读以下程序并写出运行结果。

fruites=['banana','apple','mango'] for fruit in fruites: print(fruit) a=len(fruites) print('a=',a) _________________

6.编写程序。信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。

7.以下是计算s = 1+6+11+...+ 101的程序代码,请补全程序。 s=0

for i in range(1,102, ): s= print( s)

请补充完成上述程序①_________ ②_________

8.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。 llist=

n=int(input(“请输入参与人数:”)) for i in range(0,n-1): llist.append([i,i+1]) ___________ ___________ long=n k=head i=1 p=2 while(____ ): if i==p-1: t=llist[k][1]

print(llist[t][0])#索引为t的删除 __________________ if t==head:

___________________

i=1 p+=1 long=long-1 k=llist[k][1] ______________ i+=1

print(llist[head][0])

9.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

请输入以下代码,自己输入数据运行,结果截图提交

10.哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。 import math def ss(n): Flag=True i=2

while i <= int(math.sqrt(n))and Flag: if _____________ Flag = False _____________ return Flag

n=int(input(“输入一个大于2的偶数”))

for i in rang(2,n//2+1): if____________

print(str(n)+\"=\"+str(i)+\"+\"+str(n-i)) 如果输入“8”则结果显示_____

11.编写程序,找到并输出100以内的偶数个数。 12.完善程序实现如下功能并保存:

有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(\"运行完毕,请按回车键退出...\") 13.完善程序实现以下功能并保存。 输出数组的最大值。

arr1 =[12, 435, 76, 24, 78, 54, 866, 43] ________ = -32768 for i in range(0,7):

if arr1[i] > max1 : max1 = ________ print(\"最大值是:\", ________) input(\"运行完毕,请按回车键退出...\")

14.冠军在A、B、C、D四位同学中。A说:“不是我”,B说:“是C”,C说:“是D”, D说:“C说的不对”,已知四人中有一人说了假话。判断出到底谁是冠军。 请在空格处填写正确的代码,使程序完善。 champion=['A','B','C','D'] #设置选手列表 for i in__________: #循环读取选手编号

cond=(i!='A') +(i=='C') + (i=='D')+(i!='D') #查找符合条件的选手 if cond== _____: #说真话是否是3人 print(\"冠军是:\输出冠军 input(\"运行完毕,请按回车键退出...\")

15.现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。于是小C开展了有关这个项目活动的探究。根据实际情况,回答问题。 (一)收集、分析数据,运用数理思维建模

登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:

滴滴快车(普通型)计价规则 时段 普通时段 00:00-06:30 06:30-09:00 21:00-23:00 23:00-00:00 注意: 1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。 2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。 起步价 8.00元 8.50元 8.50元 8.50元 8.50元 里程费 1.35元/公里 2.40元/公里 1.50元/公里 1.50元/公里 2.40元/公里 时长费 0.20元/分钟 0.50元/分钟 0.45元/分钟 0.40元/分钟 0.50元/分钟 小C同学19:33从“南内环恒地大厦停车场-入口”到“坞城新纪元大酒店(长风店)”乘坐滴滴快车(普通车型),里程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=_____________,否则Tot2=_____________。应支付费用:Cost=______________。 (二)运用算法描述方法将问题解决步骤化

小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。 (3)自然语言描述:

第一步:_________________________ 第二步:计算时长费Totl 第三步:计算里程费Tot2

第四步:_________________________ 第五步:_________________________

(4)流程图描述:(如图)流程图中,表示计算与赋值的是_____________,表示算法流

向的是______________。

A. B. C. D. E.

(5)算法描述中,用到了三种基本控制结构,分别是_______________、______________和______________。如图示中的流程图使用的控制结构是_______________和______________。(选填:顺序结构、选择结构、循环结构、树型结构)

(6)一个算法必须有______________或多个数据输入。有______________或多个数据输出。(选填:零个/一个)

(三)编写、调试、运行程序,验证算法并解决问题________ 16.小明用Python语言写了一个货币兑换程序如下:

(1)参数currency指:____________。

(2)该程序用了哪一种算法结构:_____________。

(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。 17.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器 请回答下列问题:

(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号) (2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:能/不能)满足直播要求。请列式证明__________。

(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)

图a

(4)为了快速了解各类别商品的利润,小强用python编程处理。处理的结果界面如图b所示。部分代码如下,请在①②划线处填写合适的代码。

图b

import pandas as pd import numpy as np import matplotlib. pyplot as plt detail=pD.read_excel (___) print(detail)

for i in range(len(detail[:])): if detail[‘成交与否’][i]==1: detail[‘lirun’]=___

dg=detai1[[‘类别’, ‘lirun’]]. groupby(by=‘类别’) print(“总利润”,detail[‘lirun’].sum()) ’数据可视化代码略

18.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=1×2×3×4×5,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下: n!=n*(n-1)! (n-1)!=(n-1)*(n-2)! (n-2)!=(n-2)*(n-3)! 2!=2*1! 1!=0! 0!=1

如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:

f(5)=5*f(4) f(4)=4*f(3) f(3)=3*f(2) f(2)=2*f(1) f(1)=1

(问题求解)在python中用递归算法求1!+2!+……+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。 def f(n): if n==0: return 1 else:

return _________ s=0

n=int(input(\"请输入n:\")) for i in_______: s=________ print(s)

19.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为《探秘水仙花数》。

(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153 = 13+53+33,那么这个数就是一个“水仙花数”。百度属于____搜索引擎(全文,分类)

(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:

k是可以重新赋值的,k是变量还是常量?____程序中①处有空缺,请补充完整①处的代码。____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。

(3)在研究成果展示环节, 张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告? (_____)

20.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。 a=int(input(\"请输入第一个数: \")) fh=input (\"请输入运算符: \") b=int(input(\"请输入第二个数: \")) flag=True s= ____ if fh in s: if fh==\"+\": c=a+b elif fh==\"-\": c=a-b elif fh==\"*\": c=a*b else: if ____

print(\"除数不能为0! \") flag=False else: c=a/b if flag==True:

print(\"运算的结果为: \"+____) else:

print (\"运算符不正确\")

21.若两个素数之差为 2,则该对素数称为双胞胎数,如 3,5 就是一对双胞胎数。编写 python 程序,实现如下功能:输入 n 的值,统计显示 n 以内的所有双胞胎数。程序运行界面如图所示:

实现上述功能的程序如下,请在划线处填入合适的代码。 import math def isprime(x): ______

for i in range(2,int(math.sqrt(x))+1): if x % i = = 0 : f=False return f

n=int(input(\"请输入一个正整数 n:\")) c=0 k=3 while k < = n-2:

if isprime( k ) and______________ : c + = 1

print(\"第\"+ str( c ) +\"对双胞胎数:\和',k+2) _______

print(\"共有\"+str(c)+\"对双胞胎数\")

划线处①处应该填入的语句为: ; 划线处②处应该填入的语句为: ; 划线处③处应该填入的语句为: 。

22.某企业开展“运动打卡 动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。

(1)实现上述功能的程序如下,请在划线处填入合适的代码。 t=int(input(“请输入您本月累计运动时间(时):”)) if t<0:

print(“输入错误”) else: if t<30: ①_ elif t<45: m=300 ②_____ m=450 else: m=500

print(“您的奖励是:”,m)

(2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误 / B.您的奖励是:0 / C.您的奖励是:500)

23.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程. def convert(s): m=0 le=len(s) key=s[le-1] if key==\"B\": n=2 elif key==\"D\": _______ else: n=16 i=0 while i<=le-2: c=s[le-1-i] if c>=\"0\"and c<=\"9\": a=ord(c)-ord(\"0\") elif c>=\"A\"and c<=\"F\": a=ord(c)-ord(\"A\")+10 _____________ i+=1 return m

s=input(\"请输入算式\")

result=0;suanfu1=\"\";suanfu2=\"\";s1=\"\" for i in range(len(s)): c=s[i]

if c==\"+\" or c==\"-\" or c==\"=\": __________

suanfu1=suanfu2 suanfu2=c if suanfu1==\"\": result=t if suanfu1==\"+\": result=result+t if suanfu1==\"-\": result=result-t s1=\"\" else: s1=s1+c

print(\"计算结果为\"+str(result)+\"D\") (1)将程序横线处补充完整

(2)如输入“1110B+10D-30H=”则输出结果为___________。

24.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。使用 Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2

图1

图2

实现上述功能的 Python程序如下: import pandas as pd import itertools

#读数据到pandas的 DataFrame结构中

df=________ (”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’) km=[‘物理’ ,‘化学’ ,‘生物’ ,‘政治’ ,‘历史’ ,‘地理’ ,‘技术’ ]

#按学校分组计数

sc=df.groupby(‘___________ ’ ,as_index=False).count() #对分组计数结果进行合计,合计结果转换为 DF结构并转置为行 df_sum=pd.DataFrame(data=sc.sum()).T df_sum[‘学校代码’]=‘合计’ #增加"合计"行 result=sc.append(df_sum) #百分比计算 df_percent=df_sum

df_percent[‘学校代码’]=‘比例’ for k in km:

per=df_percent.at[0,k]/zrs df_percent[k]=per #增加"百分比"行

result=result.append(df_percent) #删除"姓名"列 result=______________

#修改"学生编号"为"总人数"

result=result.rename(columns={‘学生编号’:‘总人数’})

#保存结果,创建 Excel文件.生成的 Excel文件 result.to_excel("学校人数统计.xlsx") (1)请在划线处填入合适的代码:

(2)加框处语句的作用是__________________

25.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。

小明利用枚举算法解决“百元买百鸡”问题。用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?

假设公鸡有X只,母鸡有Y只,小鸡有Z只。

以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。 c = 0

for x in ____① : for y in range(1,33): z = 100-x-y if ______② :

print(\"公鸡:\母鸡:\小鸡:\ _____③

print(\"共有买法\种\")

26.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:

实现上述功能的程序如下,请在划线处填入合适的代码。 def isprime(x): for i in range(2,x): if①__________: return False return True

n=int(input(“请输入一个正整数n:”)) c=0 k=3

while k<=n-2:

if isprime(k) and②___________: print(k,k+2) ③___________ k=k+1

print(“共有”+str(c)+“对双胞胎数”)

27.编写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=0

for i in range( ② ): sum+=mon[i] sum+=day if

isleap=True else: isleap=False if ③ sum+=1

print(\"这一天是当年的第\" +str (sum)+''天'')

28.使用Python自身提供的IDLE集成开发环境录入以下代码及调试 运行,检测结果。 # 鸡兔同笼

:

for x in range(1,23): y=35-x if 4*x+2*y==94:

print(\"兔子有%s只,鸡有%s只\"%(x,y))

特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。

29.(项目情境)一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。

(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。 import math

a=int(input(\"请输入a的值:\")) b=int(input(\"请输入b的值:\")) c=int(input(\"请输入c的值:\"))

d=_____ #将表达式b2-4ac的值赋给变量d if ____

print(\"x1=\输出方程的其中一个实数根 print(\"x2=\(_________) #输出方程的另一个实数根 else:

_________ #输出“方程无实数根”

30.现有字典如下,根据题目要求,写出相关的表达式:

xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’} (1)现要取出小红所对应的星座,写出相关表达式:

___________________________________________________________ (2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。 __________________________________________________________

(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。

_________________________________________________________ (4)写出删除该字典的表达式:

___________________________________________________________

【参考答案】***试卷处理标记,请不要删除

一、程序填空

1.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc(\"A\")+1 ②i–m+1To i–m+k ③t=(c(i)–1) Mod 26+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+1 To i-m十k”。代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod 26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod 26+1”。

2.[5,6,7,8,9] [7,8,9] [5,6] [6,7] [7,8] 【详解】

本题主要考查Python列表截取。Python列表的正向索引下标是从零开始,不是1;当只有冒号,表示全部元素;只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后);只有冒号尾下标i(代表的是从开始一直截取到i-1的元素);头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素),因此①[5,6,7,8,9]②[7,8,9]③[5,6]④[6,7]⑤[7,8]。 【点睛】

3.计算每一项的阶乘 记录阶乘相加后的和 t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。 t=t*n s=s+t 【详解】

本题考查的是python语言编程。本题考查的是1-20阶乘的求和。本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“for n in range(1,21):”的循环体内。 4.if print else 【详解】

本题主要考查Python程序的执行与调试。①secret是随机生成的数,sc是你猜的数字,此处是判断cs与secret的大小,故填if。②如果cs大于secret,则输出“唉,猜大啦”,故填print。③如果cs小于secret,输出“嘿嘿,猜小了!”,故填else。 5.banana apple mango a= 3 【详解】

本题主要考查Python中For循环结构。 for循环可以遍历任何序列的项目,如一个列表或者一个字符串;len() 方法返回列表元素个数。因此本题输出为各列表内容及列表元素个数。 【点睛】

6.N=int(input(\"请输入一个数\")) for i in range(1,N+1): if(i%7==0 or i/10==7): print(i,end=\" \") 【详解】

本题考查Python语言编程解决实际问题。本题要找到能被7整除或者十位是7的数,并且这两个条件是或的关系,其关键代码为i%7==0 or i/10==7。程序运行代码详见下图:

7.s+i 【详解】

本题主要考查Python循环结构。题目要求计算1、6、11.. 101等差数列之和,其中公差为5,因此①为5;s变量用于记录等差数列之和,需进行累加计算,因此②为s+i。 【点睛】

8.llist.append([n-1,0]) head=0 long>1 head=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.n%i==0: i+=1 ss(i) and ss(n-i): 8=3+5 【详解】

本题主要考查Python程序的执行与调试。①函数ss(n)用来判断n是否为质数,若是则返回True,否则返回False,此处是通过while循环逐个判断n是不是能整除i,故填n%i==0:。②若不满足if条件,则i递增,继续循环判断,故填i+=1。③此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i) and ss(n-i):。④如果输入“8”则结果显示8=3+5。

11.c=0

for i in range(1,101): if i%2==0: c=c+1 print(c) 【详解】

本题主要考查程序设计。题干要求可通过Python程序设计实现,通过for循环以及if判断条件可统计出100以内的偶数个数,具体代码如下: c=0

for i in range(1,101): if i%2==0: c=c+1 print(c) 12.c 5 【详解】

本题主要考查Python程序执行与调试。①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age, c = age(n - 1) - 3,最后返回第n个人的年龄c,第二空填c。③此处是返回第5个人的年龄,即age(5),填5。 13.max1 arr1[i] max1 【详解】

本题主要考查Python程序执行与调试。变量max1用来保存数组的最大值,初始值赋值为最小值-32768,第一空填max1,通过for循环依次比较当数组元素大于max1时,更新

max1的值为该元素继续循环直到与所有元素比较完,第二空填arr1[i],最后输出最大值是max1,故第三空填max1。 14.champion 3 i 【详解】

本题主要考查Python程序的执行。①champion是选手编号列表,此处是循环读取选手编号,使用for i in champion,故此处填champion。②四人中有一人说了假话,即3个人说真话,即当cond=3时,则表示找到了谁是冠军,故此处填3。③当cond是3时,i即为冠军,故此处填i。

15.D Tot1=(T-9)×0.2 Tot2=8 Tot2=8+(S-3.3)×1.35 Cost=Totl+Tot2 第一步:输入实际里程S和实际时长T 第四步:计算应支付费用Cost 第五步:输出应支付费用Cost E A 顺序结构 选择结构 循环结构 顺序结构 选择结构 零个 一个 略 【详解】

本题主要考查算法及程序设计。①小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:信息检索工具,故选D选项。②如果时长超过9分钟,则Tot1=(T-9)×0.2。③如果里程小于等于3.3公里则Tot2=8。④里程大于3.3公里,则Tot2=8+(S-3.3)×1.35。⑤应支付费用:Cost=Totl+Tot2。⑥第一步:输入实际里程S和实际时长T。⑦第四步:计算应支付费用Cost。⑧第五步:输出应支付费用Cost。⑨流程图中,表示计算与赋值的是矩形框,即选项E。⑩表示算法流向的是箭头,即选项A。算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。⑯一个算法必须有零个或多个数据输入。⑰有一个或多个数据输出。⑱略

16.形参 分支结构(选择结构) if条件中的return语句改为return print(money,\"$=\人民币\"),其他elif语句类似 【详解】

本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,\"$=\人民币\"),其他elif语句类似。

17.①④ 不能 1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。 1 2或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[‘数量’]。 18.n*f(n-1) range(1,n+1) s+f(i) 【详解】

本题主要考查Python程序的执行与调试。①此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。②用递归算法求1!+2!+……+n!,故变量i的范围应是1—n,for i in range(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。 19.全文 变量 k+1 枚举法 Word/WPS/PowerPoint等 【详解】

本题主要考查Python程序的执行与调试。①百度属于全文搜索引擎,也是关键词搜索。②变量可以反复赋值,故k是变量。③循环体执行完,k递增,继续找水仙花数,故此处填k+1。④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。⑤在研究成果展示环节, 张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。 20.\"+-*/\" b==0 str(c) 【详解】

本题主要考查Python程序执行与调试。①变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填\"+-*/\"。②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b==0。③变量c保存运算结果,此处输出 c的结果,故填str(c)。 21.f = True isprime(k+2) k=k+1 或 k+=1 或 k=k+2 或 k+=2 【详解】

本题主要考查Python程序的执行与调试。①isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故第一空填f = True。②若两个素数之差为 2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故第二空填isprime(k+2)。③素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填k=k+1 或 k+=1 或 k=k+2 或 k+=2。 22.m=0 elift<60: A 【详解】

本题主要考查Python程序的执行与调试。①若员工在本月累计运动时间30小时以下,奖励0元,即m=0。②达到45但不足60小时奖励450元,故填elift<60:。③-1<0,不是有效值,故输出信息为“输入错误”,故本题选A选项。 23.n=10 m=m+(n**(le-2-i))*a t=convert(s1) -24D 【详解】

本题主要考查Python程序的执行与调试。①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。②二进制、十六进制转化为十进

制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填t=convert(s1)。④1110B转化为十进制数是14D,30H转化为十进制数是48D,故1110B+10D-30H=-24D。

24.pd.read_ csv 学校代码 result.drop (‘姓名’ ,axis=1) 将总人数存储到变量zrs中 【详解】

本题主要考查Python程序的执行与调试。①将csv文件读入并转化为数据框形式,故填pd.read_ csv。②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。③此处删除"姓名"列,可以使用drop()函数来删除,故填result.drop (‘姓名’ ,axis=1)。④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。

25.range(1,20) 5*x+3*y+z/3 == 100 c = c+1 【详解】

本题考查的是python编程。X代表的是公鸡,公鸡5元一只,所以此处的range函数为range(1,20),左闭右开区间。if条件是满足三种鸡的总价格为100元的条件,故答案为5*x+3*y+z/3 == 100,注意这里是一个判断条件,用==表示。c代表的是有几种购买方案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。

26.x%i==0或x//i==x/i或其他等价表达式 isprime(k+2)或isprime(k+2)==True c=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。

27.day=int(s[8:])或day=int(s[-2:]) 0,month-1 isleap and month>2 year%4==0 and year%100!=0 or year%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,故填isleap and month>2。⑤由题干闰年判断条件,可知加框处应改为year%4==0 and year%100!=0 or year%400==0。

28.错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)

错误2:缩进错误,y=35-x、if 4*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、if 4*x+2*y==94:是for语句中的语句块,应缩进。print(\"兔子有%s只,鸡有%s只\"%(x,y))是if语句中的语句块,应缩进。 调试完最终输出:兔子有12只,鸡有23只。

29.b*b-4*a*c或b**2-4*a*c d>=0 -b-math.sqrt(d))/(2*a) print(\"方程无实数根\") 【详解】

本题主要考查Python程序的调试。①此处将表达式b2-4ac的值赋给变量d,故填b*b-4*a*c或b**2-4*a*c。②当b2-4ac≥0,方程有两个不同的实数根,故此处if判断条件是d>=0。③当b2-4ac≥0时,方程的两个根分别为x1=(-b+math.sqrt(d))/(2*a),x2=(-b-math.sqrt(d))/(2*a),故此处填-b-math.sqrt(d))/(2*a)。④else部分,即x<0时,输出“方程无实数根”,故此处填print(\"方程无实数根\")。

30.xingzuo[“小红”] xingzuo[“小兰”]=“水瓶座” xingzuo[“小贝”]=“双子座” del xingzuo 【详解】

本题主要考查字典数据类型。①字典数据类型,可以通过检索字典的键值得到对应的值,即xingzuo[“小红”]=‘处女座’,故第一空填xingzuo[“小红”]。②将“小兰”同学的星座修改为“水瓶座”,可以通过语句xingzuo[“小兰”]=“水瓶座”。③同理添加小贝的信息为,xingzuo[“小贝”]=“双子座”。④删除该字典的表达式是del xingzuo。

因篇幅问题不能全部显示,请点此查看更多更全内容