全国计算机等级考试二级Python真题及解析3word程序填空阅读填空程序试题Word下载.docx
- 文档编号:22515721
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:33
- 大小:1.73MB
全国计算机等级考试二级Python真题及解析3word程序填空阅读填空程序试题Word下载.docx
《全国计算机等级考试二级Python真题及解析3word程序填空阅读填空程序试题Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析3word程序填空阅读填空程序试题Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#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._________
4.程序编写
求1+22+32+……+1002的结果
_______________________________
input(“运行完毕,请按回车键退出...”)
5.阅读程序。
阅读求水仙花数的代码并回答问题。
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。
forninrange(100,1000):
i=n//100
j=n//100%10
k=n%10
ifn==i*i*i+j*j*j+k*k*k:
print(n)
(1)//的符号作用是_____。
(2)%的符号作用是_____。
(3)==的符号作用是_____。
(4)在代码中,变量i表示的是三位数中的______位。
(5)在代码中,变量j表示的是三位数中的______位。
(6)在代码中,变量k表示的是三位数中的______位。
(7)在range(100,1000)这个区域内,变量n无法取到的数值是________。
6.调试程序。
请阅读以下程序并写出运行结果。
fruites=['
banana'
apple'
mango'
]
forfruitinfruites:
print(fruit)
a=len(fruites)
print('
a='
a)
_________________
7.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
8.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;
②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("
车牌号s="
)
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
if②==0:
print(“双号”)
else:
print(“单号”)
(提示:
s[n:
m]的功能:
从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。
例如:
s="
12345"
s[2:
4]="
34"
。
s.isdigit):
判断是否为数字。
(1)根据题意,程序中空白①处应填写:
______
(2)根据题意,程序中空白②处应填写:
______(填:
A/B/C/D)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
9.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;
最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
foriinrange(0,n-1):
llist.append([i,i+1])
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
10.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
11.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
12.操作说明:
打开文件“Y:
/2/2.py”,在代码窗口指定位置<
1>
、<
2>
处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:
输入一个正整数n(1至100),输出它的约数的个数。
s=0
n=int(input(“请输入一个正整数:
ifn<
1orn>
100:
exit#输入的数不符合要求,退出
foriinrange(1,n+1):
ifn//i=0:
___<
s=s+i<
print(“约数的个数是:
”,s)
13.程序设计:
在舞会上,男生、女生各自排成一队。
舞会开始时,依次从男队和女队的队头各出一人配成舞伴。
跳完后的两人重新回到队尾。
boy=['
Alex'
Steven'
Jack'
],girl=['
Ada*,'
Babs'
.,'
Danla'
Jane'
输出:
Turn1:
(Alex,Ada)
Turn2:
(Steven,Babs)
Turn3:
(Jack,Danla)
Turn4:
(Alex,jane)
……
Turn12:
(Jack,jane)
代码如下:
‘Jack'
girl=['
Ada'
foriinrange(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.xB.yC.iD.i+1
(3)程序代码中③处正确的代码是(_______)。
14.请在空格处填写正确的代码,使程序完善。
用辗转相除法求解两个正整数的最大公约数。
x=int(input('
请输入第一个正整数:
'
))
y=int(input('
请输入第二个正整数:
m=max(x,y)#找出x,y中的最大值
n=min(x,y)#找出x,y中的最小值
r=m%n#求得最大值除以最小值后的余数
whiler!
=0:
#如果余数不等0,则进行以下循环
m=________#把最小值赋给m
n=_________#把余数赋给n
r=m%n#求得最大值除以最小值后的余数
这两个数的最大公约数为:
______)
运行完毕,请按任意键退出...."
15.完善程序实现以下功能并保存。
输出数组的最大值。
arr1=[12,435,76,24,78,54,866,43]
________=-32768
foriinrange(0,7):
ifarr1[i]>
max1:
max1=________
print("
最大值是:
,________)
16.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:
____________。
(2)该程序用了哪一种算法结构:
_____________。
(3)输出结果为“50$=325.25人民币”。
则代码应该如何编写:
17.有如下程序段:
sum=0
foriinrange(1,20,3):
sum+=i
print(“sum=”,sum)
(1)循环变量i的初值为:
_________,终值为:
_________,步长为:
__________。
(2)该程序执行后,输出的结果为:
____________________。
18.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。
下面的程序能实现上述的功能,请将缺失的代码补充完整。
total=every_year=20000
year=1
while__________________:
every_year+=____________
total+=every_year
year+=1
print(year)
19.已知6月份10位技术考试成绩:
1
2
3
4
5
6
7
8
9
10
78
88
89
90
83
76
75
98
100
65
技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
sum=0
foriinrange(n):
ifa[i]>
=80:
________
print(sum)
执行上述程序段后,输出的内容是______
20.辗转相除法,又称欧几里德算法,用于计算两个正整数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行划线处为__________。
21.小强开展网上直播售货,为此购买了以下直播硬件设备:
①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号)
(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:
1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:
能/不能)满足直播要求。
请列式证明__________。
(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。
流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)
图a
(4)为了快速了解各类别商品的利润,小强用python编程处理。
处理的结果界面如图b所示。
部分代码如下,请在①②划线处填写合适的代码。
图b
importpandasaspd
importnumpyasnp
importmatplotlib.pyplotasplt
detail=pD.read_excel(___)
print(detail)
foriinrange(len(detail[:
])):
ifdetail[‘成交与否’][i]==1:
detail[‘lirun’]=___
dg=detai1[[‘类别’,‘lirun’]].groupby(by=‘类别’)
print(“总利润”,detail[‘lirun’].sum())
’数据可视化代码略
22.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。
使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的Python程序如下:
importitertools
#读数据到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[‘学校代码’]=‘比例’
forkinkm:
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)加框处语句的作用是__________________
23.“枚举算法”又称为“穷举法”,其基本思想是:
一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。
用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。
公鸡5元1只,母鸡3元1只,小鸡1元3只。
请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。
以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。
c=0
forxin____①:
foryinrange(1,33):
z=100-x-y
if______②:
公鸡:
x,"
母鸡:
y,"
小鸡:
z)
_____③
共有买法"
c,"
种"
24.阅读程序。
分析以下关于字符拼接与转换的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))的输出结果是__________。
25.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。
(1)Python程序设计语言属于程序设计语言中的_______________。
A.机器语言B.汇编语言C.高级语言D.翻译程序
(2)小C将设计好的算法转为Python程序语言(如下)。
其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。
A.函数B.表达式C.赋值语句D.注释语句
1Tot1=0#初始化时长费为0
2Tot2=0#初始化里程费为0
3S=float(input(“请输入里程数”))
4T=float(input(“请输入时长”))#输入里程数和时长
5if(T>
9):
#计算时长费用
6Tot1=(T-9)*0.2
7if(S<
=3.3):
#算里程费用
8Tot2-8
9else:
10Tot2=8+(S-3.3)*1.35
11Cost-Totl+tot2
12print(Cost)#输出总车费
(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:
____________________________________________________________________________________________。
NameErrorTraceback(mostrecentcalllast)
<
ipython-input-2-fc682f6f4658>
in<
modu1e>
9else:
—→11Cost=Tot1+tot2
12
NameError:
name’tot2’isnotdefined
(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。
小C借助于计算机编写程序解决问题的这个过程是:
①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。
(填写序号即可)
(5)总结用计算机解决问题的优势主要有:
_______________________________________________。
26.编写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每个月的天数
请输入年月日:
"
month=int(s[5:
7])
①
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
isleap=False
if③
sum+=1
这一天是当年的第"
+str(sum)+'
天'
27.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。
校验码由前面9个X计算得到,计算方法为:
从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。
用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 Python 解析 word 程序 填空 阅读 试题
链接地址:https://www.bdocx.com/doc/22515721.html