python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx

上传人:b****7 文档编号:25974748 上传时间:2023-06-16 格式:DOCX 页数:33 大小:1.16MB
下载 相关 举报
python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx_第1页
第1页 / 共33页
python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx_第2页
第2页 / 共33页
python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx_第3页
第3页 / 共33页
python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx_第4页
第4页 / 共33页
python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx

《python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx(33页珍藏版)》请在冰豆网上搜索。

python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题.docx

python软件编程等级考试一级编程实操题05优质程序填空阅读填空程序试题

python软件编程等级考试(一级)编程实操题05优质程序填空阅读填空程序试题

一、程序填空

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

输出数组的最大值。

arr1=[12,435,76,24,78,54,866,43]

________=-32768

foriinrange(0,7):

ifarr1[i]>max1:

max1=________

print("最大值是:

",________)

input("运行完毕,请按回车键退出...")

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.阅读程序。

foriinrange(1,10):

forjinrange(1,i+1):

print("%dX%d=%2d"%(j,i,j*i),end="")

print()

(1)在第一行程序中,变量i的数据范围为_____到____。

(2)在第二行的程序中,变量j的数据范围为_____到____。

(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。

(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是_____。

(5)如果最后一行的print()表示换行,那么end=””的功能是_______。

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

s=0

foriinrange(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

foriinrange(6):

s=s+a[i]

ifa[i]>max:

max=a[i]

ifa[i]

min=a[i]

aver=()/4

(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。

A.EntryB.LabelC.FrameD.Button

(2)题目中算法描述采用的是__________A、自然语言B、伪代码C、流程图D、.N-S图

(3)下列程序代码片段对应于算法描述中的第2步至第4步。

请填写片段中空白处的表达式填写完整________

6.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:

今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。

凡百钱,买鸡百只。

问鸡翁、母、雏各几何?

这个问题就是著名的“百钱买百鸡问题”。

即:

现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:

公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。

问公鸡、母鸡和小鸡各几何?

(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

forginrange(1,20):

formin_______:

forxinrange(3,98,3):

if_________and__________==100:

print("公鸡:

",g,"母鸡:

",m,"小鸡:

",x)

7.利用for循环,分别计算1--100中奇数的和、偶数的和。

8.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。

得到的数字应按逗号分隔的顺序打印在一行上。

提示:

考虑使用range(#begin,#end)

9.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:

能被4整除但不能被100整除或能被400整除,闰年的2月为29天)

day=input("请输入年月日(格式举例:

2000-01-05):

")

year=int(day[:

4])

month=_________

sun=int(day[8:

10])

print(year,month,sun)

f_run=[31,28,31,30,31,30,31,31,30,31,30,31]

tall_day=0

if______:

foriinrange(month-1):

tall_day+=f_run[i]

__________

else:

foriinrange(month-1):

tall_day+=f_run[i]

tall_day+=sun

print(day+"是当年的第"+str(tall_day)+"天")

(1)将程序横线处补充完整

(2)如输入“2020-4-19”为当年的第_____天。

10.编写程序,找到并输出100以内的偶数个数。

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

12.操作说明:

打开文件“Y:

/1/1.py”,将程序补充完整,不得增加,删除语句、或改变程序原有结构,操作结束后保存。

以下程序段的功能是:

根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!

”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。

n=int(input(“请输入一个数:

”))

list=[“Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]

if________:

print(“输入错误!

”)

else:

print(________)

13.操作说明:

打开文件“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:

___<1>

s=s+i<2>

print(“约数的个数是:

”,s)

14.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。

其内容是:

公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

(1)请在空格处填写正确的代码,使程序完善实现以下功能。

money=100#一共100文钱

num=100#一共100只鸡

cock_price=5#公鸡价格5文

hen_price=3#母鸡价格3文

threechick_price=1#3只小鸡1文

forcock_numinrange(1,_______):

#公鸡只数可能为1-20

forhen_numinrange(1,_________):

#母鸡只数可能为1-33

forchick_numinrange(1,101):

#(3小鸡)只数可能为1-100

money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price

num1=cock_num+hen_num+chick_num

ifmoney1==moneyandnum1==num:

print(cock_num,hen_num,__________)

input("运行完毕,请按回车键退出...")

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

15.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。

编写程序求出这些小朋友的可能人数。

实现上述功能的程序如下,请在程序划线处填入合适的代码。

________

a=[]

foriinrange(100,1000):

if_____________:

a.append(i)

total+=1

print("这群小朋友总的人数有:

")

forjinrange(len(a)):

print(____,end='、')

print('')

print('可能情况数为:

',total,'种')

划线处①处应该填入的语句为:

划线处②处应该填入的语句为:

划线处③处应该填入的语句为:

16.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:

(1)在以上Python程序中,变量Y的数据类型是_________。

(2)在以上Python程序中,第8行横线处的代码是_________。

(3)通过观察,气温釆样间隔时间是_________个小时。

17.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:

3.14,请根据下列代码回答问题:

r=int(input(“请输入半径r:

”))

h=int(input(“请输入高h:

”))

_________________________

c=2*pi*r

s=pi*r**2

S=c*h

V=s*h

print(c,s,S,V)

(1)解决问题的程序用到的控制结构有:

__________________(填:

顺序结构、分支结构、循环结构)

(2)请将程序补充完整。

(3)请找出程序中的错误代码,并改正。

____________________________________________

18.现在有一个程序用来解决以下问题:

如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?

请将下列程序补充完整。

tc=1020

c=0

while______________:

tc=tc-(tc/2+2)

_____________

print(c)

19.小敏有10万元本金,想要购买银行保证收益型理财产品。

每年到期后连本带利仍购买此种理财。

请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。

(例如输人:

5.15%,输出:

14年后收益超过本金。

1s=input("请输入年利率:

")

2rate=float(s[:

-1])*0.01

3money=100000

4year=0

5whilemoney<=200000:

6money=round(),2)

7year=year+1

8print(year,"年后收益超过本金。

”)

(1)程序第6行下划线处应填入___________。

(2)程序第2行的作用是____________,并赋值给变量rate。

(3)该程序主要是通过while实现____________结构。

20.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。

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

代码如下:

importturtle

turtle.bgcolor("black")

colors=["red","green","blue","yellow"]

forx①range(100):

turtle.pencolor(colors[x%4])

turtle.circle(x)

turtle.left(90)

请分析任务,完成下列题目。

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

A.printB.inputC.inD.colors

(2)程序中x%4的作用是(________)。

A.计算x乘以4的结果

B.计算x除以4的整数部分

C.计算x除以4的小数部分

D.计算x除以4的余数

(3)执行此程序,绘制出圆形的总颜色数是(________)。

A.1B.4C.5D.100

(4)执行此程序,绘制出圆形的总个数是(________)。

A.1B.4C.99D.100

(5)此程序属于程序设计结构中的(________)。

A.顺序结构B.分支结构

C.循环结构D.跳转结构

21.某企业开展“运动打卡动动有奖”活动:

若员工在本月累计运动时间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=450

else:

m=500

print(“您的奖励是:

”,m)

(2)当输入“-1”时,输出信息为_________(选填,填字母:

A.输入错误/B.您的奖励是:

0/C.您的奖励是:

500)

22.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?

请帮小金完成代码编程.

defconvert(s):

m=0

le=len(s)

key=s[le-1]

ifkey=="B":

n=2

elifkey=="D":

_______

else:

n=16

i=0

whilei<=le-2:

c=s[le-1-i]

ifc>="0"andc<="9":

a=ord(c)-ord("0")

elifc>="A"andc<="F":

a=ord(c)-ord("A")+10

_____________

i+=1

returnm

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

result=0;suanfu1="";suanfu2="";s1=""

foriinrange(len(s)):

c=s[i]

ifc=="+"orc=="-"orc=="=":

__________

suanfu1=suanfu2

suanfu2=c

ifsuanfu1=="":

result=t

ifsuanfu1=="+":

result=result+t

ifsuanfu1=="-":

result=result-t

s1=""

else:

s1=s1+c

print("计算结果为"+str(result)+"D")

(1)将程序横线处补充完整

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

23.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。

使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2

图1

图2

实现上述功能的Python程序如下:

importpandasaspd

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)加框处语句的作用是__________________

24.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。

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

请根据流程图的每个步骤,填写程序段编号,如A:

⑦B:

①D:

③。

现填写C、E、F、G对应的程序段编号.C:

__________E:

__________F:

__________G:

__________

图a

图b

图c

图d

25.阅读程序。

分析以下两段Python程序并回答问题。

#程序1

i=1

whilei<101:

print('把这句话打印100遍')

i+=1

#程序2

i=100

whilei:

print('把这句话打印100遍')

i=i-2

(1)在程序1中,i+=1这句话的含义是______________。

(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。

(3)在程序2中,i的初值是___。

(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。

(5)在程序2中,whilei的含义是_________。

26.使用Python自身提供的IDLE集成开发环境录入以下代码及调试

运行,检测结果。

#鸡兔同笼

forxinrange(1,23):

y=35-x

if4*x+2*y==94:

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

特别提示:

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

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

(问题求解)下面的python程序实现的功能是判断方程是否有实数根。

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

importmath

a=int(input("请输入a的值:

"))

b=int(input("请输入b的值:

"))

c=int(input("请输入c的值:

"))

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

if____

print("x1=",(-b+math.sqrt(d))/(2*a))#输出方程的其中一个实数根

print("x2=",(_________)#输出方程的另一个实数根

else:

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

28.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。

请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。

29.小明用Python语言写了一个货币兑换程序如下:

(1)参数currency指:

____________。

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

_____________。

(3)输出结果为“50$=325.25人民币”。

则代码应该如何编写:

____________。

30.程序设计:

键盘输入任意的正整数,程序输出与其相应的二进制数。

代码如下:

n=int(input("请输入一个十进制数:

"))

result=[]

whilen>0:

result.append(①)

n=②

result.reverse()

foriinresult:

print(i,end=”)

(1)程序代码中①处正确的代码是(_______)。

A.n%2B.n/2C.n//2D.n*2

(2)程序代码中②处可能的代码是(_______)。

A.n%2B.n/2C.n//2D.n*2

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

 

一、程序填空

1.max1arr1[i]max1

【详解】

本题主要考查Python程序执行与调试。

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

2.[5,6,7,8,9][7,8,9][5,6][6,7][7,8]

【详解】

本题主要考查Python列表截取。

Python列表的正向索引下标是从零开始,不是1;当只有冒号,表示全部元素;只有头下标i和冒号(代表

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1