全国计算机等级考试二级Python真题及解析(8)图文程序填空阅读填空程序试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试二级Python真题及解析(8)图文程序填空阅读填空程序试

一、程序填空
1.完善程序实现以下功能并保存。

输出数组的最大值。

arr1 =[12, 435, 76, 24, 78, 54, 866, 43]
________ = -32768
for i in range(0,7):
if arr1[i] > max1 : max1 = ________
print("最大值是:", ________)
input("运行完毕,请按回车键退出...")
2.阅读程序。

分析有关多项式的代码并回答问题。

求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的等价语句是 ______。

3.调试程序。

请阅读以下程序并写出运行结果。

fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
4.以下是计算s = 1+6+11+...+ 101的程序代码,请补全程序。

s=0
for i in range(1,102, ):
s=
print( s)
请补充完成上述程序①_________ ②_________
5.程序分析题
学校举行校园歌手大赛,评委由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=0
for i in range(6) :
s=s+a[i]
if a[i]>max:
max=a[ i]
if a[i] <min:
min=a[ i]
aver=( )/4
(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件
生成的。

A.Entry B.Label C.Frame D.Button
(2)题目中算法描述采用的是__________A、自然语言B、伪代码 C、流程图 D、.N-S图
(3)下列程序代码片段对应于算法描述中的第2步至第4步。

请填写片段中空白处的表达式填写完整________
6.约瑟夫问题是个有名的问题: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])
7.求50以内所有5的倍数的和。

8.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。

9.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

10.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
11.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

12.程序设计:在舞会上,男生、女生各自排成一队。

舞会开始时,依次从男队和女队的队头各出一人配成舞伴。

跳完后的两人重新回到队尾。

例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']
输出:
Turn1:(Alex,Ada)
Turn2:(Steven,Babs)
Turn3:(Jack,Danla)
Turn4:(Alex,jane)
……
Turn12:(Jack,jane)
代码如下:
boy=['Alex','Steven',‘Jack']
girl=['Ada','Babs','Danla','Jane']
for i in range(12):
x,y=① #出队
print(“Turn{:2}):({},{})".format(i+1,x,y))
boy.append( ② ) #再进队
girl.append( ③ ) #再进队
(1)程序代码中①处正确的代码是(_______)。

A.boy.pop(l).girl.pop(l) B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0) D.girl.pop(0),boy.pop(0)
(2)程序代码中②处正确的代码是(_______)。

A.x B.y C.i D.i+1
(3)程序代码中③处正确的代码是(_______)。

A.x B.y C.i D.i+1
13.(最大公约数)用辗转相除法求两个正整数的最大公约数。

代码如下:
def gcd (m,n):
r=
while r!=0:
m=n
n=
return
a=int(input(‘请输入a的值:’))
b=int(input(‘请输入b的值:’))
print(‘最大公约数是:' )
填空:
________ ________ ________ ________ ________
14.请在空格处填写正确的代码,使程序完善。

实现功能:绘制y=x2-2x+ 1的图像
#加载numpy模块并限简洁的别名为np
import numpy as np
#加载matplotlib.pyplot模块并限简洁的别名为plt
import matplotlib.pyplot as plt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____ = x**2-2*x+1
plt.plot(x,________)
plt.title('y=x*x-2*x+1')
plt.xlabel('x')
plt.ylabel('y')
plt._________
15.完善程序实现以下功能并保存。

输入一元二次方程的系数a,b,c的值,求解一元二次方程 ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。

填写正确的代码,使程序完善import math
a=float(input("请输入方程系数a(!=0):"))
b=float(input("请输入方程系数b:"))
c=float(input("请输入方程系数c:"))
delta=b*b-4*a*c
if delta>________:
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print("方程有两个不同的解",x1,x2)
elif delta==0:
x1=________
print("方程有两个相同的解",x1)
else:
print("方程无解")
input("运行完毕,请按回车键退出...")
16.编写程序。

如图所示的算法,请用Python程序写出实现该算法相应的代码。

17.有如下程序段:
sum=0
for i in range(1,20,3) :
sum+=i
print(“sum=”,sum)
(1)循环变量i的初值为:_________,终值为:_________,步长为:__________。

(2)该程序执行后,输出的结果为:____________________。

18.现代生活半径的扩大和生活节奏加快使出行成本不断增长。

滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。

小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。

小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。

于是小C开展了有关这个项目活动的探究。

根据实际情况,回答问题。

(一)收集、分析数据,运用数理思维建模
登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:
滴滴快车(普通型)计价规则
小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)一个算法必须有______________或多个数据输入。

有______________或多个数据输出。

(选填:零个/一个)
(三)编写、调试、运行程序,验证算法并解决问题________
19.某字符转置算法描述如下:
将字符串(均为大写字符)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
20.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(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())
’数据可视化代码略
21.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。

为求解规模为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)
22.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。

为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。

代码如下:
import turtle
turtle. bgcolor("black")
colors=["red", "green", "blue", "yellow"]
for x ① range(100):
turtle. pencolor(colors[x%4])
turtle. circle(x)
turtle. left(90)
请分析任务,完成下列题目。

(1)程序中①处应填写(________)。

A.print B.input C.in D.colors
(2)程序中x%4的作用是(________)。

A.计算x乘以4的结果
B.计算x除以4的整数部分
C.计算x除以4的小数部分
D.计算x除以4的余数
(3)执行此程序,绘制出圆形的总颜色数是(________)。

A.1 B.4 C.5 D.100
(4)执行此程序,绘制出圆形的总个数是(________)。

A.1 B.4 C.99 D.100
(5)此程序属于程序设计结构中的(________)。

A.顺序结构 B.分支结构
C.循环结构 D.跳转结构
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”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。

“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。

例如:
验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。

请回答下列问题:
(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=“”
for i in s:#统计9位二进制编码中“1”的个数
k=k+int(i)
if ____:
print("传输错误!")
else:
print("传输正确!")
for j in range(0,8,4):
p=int(s[j:j+4],2)
# int(x,[base]):将x(字符串或者数字)按照base进制转换成整数
if 0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:",___
25.若两个素数之差为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)+“对双胞胎数”)
26.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3 = 153。

这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。

(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。

需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。

请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。

print ("三位数之内的水仙花是:")
for x in _____ :
b=x//100
s=_____
g=_____
if x==(b**3 + s**3 + g**3):
_____
27.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。

文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。

请根据流程图的每个步骤,填写程序段编号,如A:⑦B:①D:③。

现填写C、E、F、G
对应的程序段编号.C:__________E:__________F:__________G:__________
图a
图b
图c
图d
28.编写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)+''天'')
29.请编写Python程序,实现如下功能需求:
1)程序运行后,给出文字提示:“请输入一个正整数:”
2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。

3)不要超过5行代码。

程序运行举例:
30.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。

其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。

(1)请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善。

(2)运行程序,运行结果如图所示。

# 请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善money=100 #一共100文钱
num=100 #一共100只鸡
cock_price=5 #公鸡价格5文
hen_price=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==money and num1==num:
print (cock_num,hen_num,③________) #(③小鸡数)input("运行完毕,请按回车键退出...")
【参考答案】***试卷处理标记,请不要删除
一、程序填空
1.max1 arr1[i] max1
【详解】
本题主要考查Python程序执行与调试。

变量max1用来保存数组的最大值,初始值赋值为最小值-32768,第一空填max1,通过for循环依次比较当数组元素大于max1时,更新max1的值为该元素继续循环直到与所有元素比较完,第二空填arr1[i],最后输出最大值是max1,故第三空填max1。

2.计算每一项的阶乘记录阶乘相加后的和 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):”的循环体内。

3.banana
apple
mango
a= 3
【详解】
本题主要考查Python中For循环结构。

for循环可以遍历任何序列的项目,如一个列表或者一个字符串;len() 方法返回列表元素个数。

因此本题输出为各列表内容及列表元素个数。

【点睛】
4.s+i
【详解】
本题主要考查Python循环结构。

题目要求计算1、6、11.. 101等差数列之和,其中公差为5,因此①为5;s变量用于记录等差数列之和,需进行累加计算,因此②为s+i。

【点睛】
5.A A s-max-min
【详解】
本题主要考查Python程序的执行与调试。

①在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry 是Tkinter 用来接收字符串等输入的控件,该控件允许用户输入一行文字),故选A选项。

②题目中算法描述采用的是伪代码,故选A选项。

③从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分,故此处填s-max-min。

6.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]
7.
【详解】
本题主要考查Python程序设计。

可以采用Python程序设计语言实现50以内所有5的倍数的和,可以结合while循环以及if条件分支结构实现,具体代码及实现如下:
8.str = input("请输入要转换成大写的数据:")
c=len(str)
for i in range(0,c):
print(str[i].upper(),end=" ")
【详解】
本题主要考查程序设计。

题干要求可使用Python程序设计实现,通过upper函数可以将输
入数据转换成大写并输出,具体代码如下:
str = input("请输入要转换成大写的数据:")
c=len(str)
for i in range(0,c):
print(str[i].upper(),end=" ")
9.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:
other += 1
print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other)
【详解】
本题主要考查程序设计。

题干要求可通过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:
other += 1
print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other)
10.for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
print(i)
【详解】
本题主要考查程序设计。

可通过Python程序设计实现题干要求,通过for循环找出水仙花数,依次取出三位数的每一位数,其中百位a= i//100,十位b= (i//10)%10,个位c=i%10,然后判断是否是水仙花数,具体代码如下:
for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
print(i)
11.s=1
for i in range(9):
s=(s+1)*2
print(s)
【详解】
本题主要考查Python程序设计。

第10天,只剩下一个桃子s=1,由题干每天早上都吃了前一天剩下的一半零一个,则第9天剩下的桃子为(s+1)*2,可以通过for循环求得第一天共摘了多少个桃子,具体代码如下:
s=1
for i in range(9):
s=(s+1)*2
print(s)
12.C A B
【详解】
本题主要考查队列数据结构及Python程序。

①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。

②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。

③同理,此处是女生入队girl.append(y),故选B选项。

13.m%n r r=m%n n gcd(a,b)
【详解】
本题主要考查Python程序设计。

①首先对m和n求余得到r,判断r是否为0,故此处填m%n。

②如果r为0则结束,否则更新m的值为n,n的值为r。

③此处用更新后的m和n 继续求r,继续判断,故填r=m%n。

④循环结束后当r=0时,n即为最大公约数,故填n。

⑤输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。

14.y y show( )
【详解】
本题主要考查Python程序绘制图像。

①绘制y=x2-2x+ 1的图像,故此处填y。

②根据横纵坐标x和y绘制图,故此处填y。

③此处调用显示函数show( ),故填show()。

15.-b/(2*a)
【详解】
本题主要考查Python程序执行与调试。

①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。

②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。

16.a=float(input("请输入一个数"))
b=float(input("请输入一个数"))
c=float(input("请输入一个数"))
if c>a and c>b:
print("最大数为:",c)
elif b>a:
print("最大数数",b)
else:
print("最大小数为",a)
【详解】
本题主要考查算法描述及Python程序设计。

分析算法流程图,首先输入a、b、c三个数,进行两两比较,输出最大数,故Python程序设计如下:
a=float(input("请输入一个数"))
b=float(input("请输入一个数"))
c=float(input("请输入一个数"))
if c>a and c>b:
print("最大数为:",c)
elif b>a:
print("最大数数",b)
else:
print("最大小数为",a)
17.初值为1终值为:20步长为:3sum=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。

18.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。

算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。

如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。

⑯一个算法必须有零个或多个数据输入。

⑰有一个或多个数据输出。

⑱略
19.①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”。

20.①④不能 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。

⑥该表格文件名是。

相关文档
最新文档