admin 管理员组文章数量: 887029
2024年1月17日发(作者:如何制作网页系统)
资料python软件编程等级考试(一级)编程实操题03程序填空阅读填空程序试题
一、程序填空
1.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020
c=0
while ______________ :
tc=tc-(tc/2+2)
_____________
print(c)
2.程序补充:
(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用round()函数,保留结果两位小数。
money =_______________________________
rate=_________________________________
for___________________________________
____________________________________
print(“5年以后存款总额:”,money,“元”)
(2)
某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?
money= ________________________________
year= __________________________________
while _________________________________
_________________________________
________________________________
print(year,“年后资金被全部取出”)
3.阅读程序。分析条件语句的代码并回答问题。
(1)如果不能使用int()函数,那么变量s的类型将会变成 ______
。
(2)如果你的期末成绩是85,你得到的评价将会是____________
。
(3)如果你的期末成绩是55,你得到的评价将会是____________
。
(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。
(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。
4.阅读程序。分析有关多项式的代码并回答问题。
求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的等价语句是 ______。
5.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
6.调试程序。请阅读以下程序并写出运行结果。
#
i=0
sum=0
while i<10:
if i%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
_________
7.编写程序。信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。
8.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin, #end)
9.哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。
import math
def ss(n):
Flag=True
i=2
while i <= int((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”则结果显示_____
10.编写一个程序,判定用户输入的两个数 a和 b,如果用户输入的第一个数大,则两数
互换,否则原样输出。
11.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
12.求1~100内奇数之和(使用range函数)
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)
代码如下:
boy=['Alex','Steven',‘Jack']
girl=['Ada','Babs','Danla','Jane']
for i in range(12):
x,y=
① #出队
print(“Turn{:2}):({},{})".format(i+1,x,y))
(
② ) #再进队
(
③ ) #再进队
(1)程序代码中①处正确的代码是(_______)。
A.(l).(l) B.(l),(l)
C.(0),(0) D.(0),(0)
(2)程序代码中②处正确的代码是(_______)。
A.x B.y C.i D.i+1
(3)程序代码中③处正确的代码是(_______)。
A.x B.y C.i D.i+1
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文
for cock_num in range(1,_______): #公鸡只数可能为1-20
for hen_num in range(1,_________): #母鸡只数可能为1-33
for chick_num in range(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
if money1==money and num1==num:
print (cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
(2)运行程序,运行结果如图所示。
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.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:____________。
(2)该程序用了哪一种算法结构:_____________。
(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。
17.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。下面的程序能实现上述的功能,请将缺失的代码补充完
整。
total= every_year=20000
year=1
while __________________ :
every_year + = ____________
total + = every_year
year + = 1
print(year)
18.已知6月份10位技术考试成绩:
1
78
2
88
3
89
4
90
5
83
6
76
7
75
8
98
9
100
10
65
技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
for i in range(n):
if a[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是______
19.现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。于是小C开展了有关这个项目活动的探究。根据实际情况,回答问题。
(一)收集、分析数据,运用数理思维建模
登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:
滴滴快车(普通型)计价规则
时段
普通时段
00:00-06:30
06:30-09:00
21:00-23:00
23:00-00:00
注意:
起步价
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元/分钟
1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。
2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。
小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)一个算法必须有______________或多个数据输入。有______________或多个数据输出。(选填:零个/一个)
(三)编写、调试、运行程序,验证算法并解决问题________
20.阅读程序。观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
import random
while True:
x=nge(0,20)
y=nge(0,33)
z=nge(0,100)
if 5*x+3*y+z/3==100 and x+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。
(2)nge(0,20)生成的随机数的范围是_________
。
(3)如果不想写类似nge(0,20)这么长的句子,可以修改程序中的第一行为
________
(4)while True
的作用是______
。
(5)如果while True造成程序无法停止,我们可以在程序中添加一行 _________。
21.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“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 ("运算符不正确")
22.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。
def gs(n): #字符串长度统一
if len(n)>=5:
n=_____ #取字符串的前5个字符
else:
n=n+" "*(5-len(n))
return n
r=1000;x=100;y=15;z=0.8 #从系统中分别获取消费额度、满和减以及打折的数值
dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"] #某顾客所点菜品名称
num=[1,1,1,1,3] #某顾客所点菜品数量
mon=[46,45,68,16,1] #某顾客所点菜品单价
print("菜品名称","数量","小计")
_____
for i in range(len(dis)):
print(gs(dis[i]),num[i]," ",num[i]*mon[i])
s=s+num[i]*mon[i]
if s>=r:
total=s*z
else:
______
print("消费合计:",s)
print("应收现金:",total)
23.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:
接收到的每个字节及校验码
100101001
011010101
101011010
1的个数
4
5
5
传输正误
错误
正确
正确
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(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("字节编码用十六进制表示:",___
24.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。使用 Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的 Python程序如下:
import pandas as pd
import itertools
#读数据到pandas的 DataFrame结构中
df=________ (””,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’ ,‘化学’ ,‘生物’ ,‘政治’ ,‘历史’ ,‘地理’ ,‘技术’ ]
#按学校分组计数
sc=y(‘___________
’ ,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为 DF结构并转置为行
df_sum=ame(data=()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
for k in km:
per=df_[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=(columns={‘学生编号’:‘总人数’})
#保存结果,创建 Excel文件.生成的 Excel文件
_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
25.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的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):
_____
26.阅读程序。分析以下Python程序并回答问题。
who='我的'
action='是'
destination='镜像世界'
number='153'
code='通行密码'
print( who+destination+code+action+str(number))
(1)变量who的数据类型_______________。
(2)类似number的数据类型______________
。
(3)print语句输出的结果是______________。
(4)str(number)的作用是_________。
(5)“+”在程序中的作用是____________。
27.请编写Python程序,实现如下功能需求:
1)程序运行后,给出文字提示:“请输入一个正整数:”
2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的
数。
3)不要超过5行代码。
程序运行举例:
28.(项目情境)一元二次方程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=",(-b+(d))/(2*a)) #输出方程的其中一个实数根
print("x2=",(_________) #输出方程的另一个实数根
else:
_________ #输出“方程无实数根”
29.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。
30.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
def gcd (m,n):
r=
while r!=0:
m=n
n=
return
a=int(input(‘请输入a的值:’))
b=int(input(‘请输入b的值:’))
print(‘最大公约数是:' )
填空:
________ ________ ________ ________ ________
【参考答案】***试卷处理标记,请不要删除
一、程序填空
1.tc>0
c=c+1 或者c+=1
【详解】
本题主要考查Python程序执行与调试。①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1
或者c+=1。
2.[0.0325,0.03,0.03,0.02,0.0175] i in rate:(没有冒号算错误) money=round(money*(1+i),2) 100000 0 money>0
或 money>=0 money=round(money*1.037-20000,2) year=year+1
【详解】
本题主要考查Python程序语句。①此处是变量money的初始化,有5万元资金存入银行,故填50000。②5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填[0.0325,0.03,0.03,0.02,0.0175]。③通过for循环,从rate数组中取值,故填i in
rate:(没有冒号算错误)。④调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。⑤购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。⑥year的初始值也为0,故填0。⑦循环条件是money大于0或大于等于0,故填money>0
或 money>=0。⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。
3.字符串类型
你及格了喔
表现不错
程序结束
不及格
学习方法可能不对
程序结束 60
80
错
【详解】
本题主要考查Python编程。① input()
函数接受一个标准输入数据,返回为 string
类型,因此此处为字符串类型;②输入期末成绩为85时,满足大于等于60及大于等于80条件,因此此处输出为“你及格了喔
表现不错
程序结束”;③输入期末成绩为55时,满足小于60及大于等于30,因此此处输出为“不及格
学习方法可能不对
程序结束”;评价是“还可以再提升”项,属于大于等于60且小于80范围,因此④为60,⑤为80;elif后需添加判断条件,因此⑥为错。
【点睛】
4.计算每一项的阶乘
记录阶乘相加后的和 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):”的循环体内。
5.banana
apple
mango
a= 3
【详解】
本题主要考查Python中For循环结构。 for循环可以遍历任何序列的项目,如一个列表或者一个字符串;len()
方法返回列表元素个数。因此本题输出为各列表内容及列表元素个数。
【点睛】
6.0
【详解】
本题主要考查Python中While循环结构。Python
编程中 while
语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。
【点睛】
7.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。程序运行代码详见下图:
8.l=[]
for i in range(2000, 3201):
if (i%7==0) and (i%5!=0):
(str(i))
print (','.join(l))
【详解】
本题主要考查程序设计。由题干要求,可以使用Python程序设计语言实现,可使用for循
环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代码如下:
l=[]
for i in range(2000, 3201):
if (i%7==0) and (i%5!=0):
(str(i))
print (','.join(l))
9.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。
10.a=int(input("
请输入数 a:"))
b=int(input("
请输入数 b:"))
if a>b:
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 a>b:
t=a
a=b
b=t
print("用户输入的数按小到大排序结果是: ", a, b)
else :
print("原样输出 ",a,b)
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.Sum=0
for i in range(1,101,2):
Sum+=i
print(Sum)
【详解】
本题主要考查Python程序设计。求1~100内奇数之和,用Sum来求和,变量i的范围是1到100,每次递增2,可以使用range函数,具体代码如下:
Sum=0
for i in range(1,101,2):
Sum+=i
print(Sum)
13.C
A
B
【详解】
本题主要考查队列数据结构及Python程序。①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填(0),(0)。②队列入队使用append方法追加到队列尾,此处是男生入队(x),故选A选项。③同理,此处是女生入队(y),故选B选项。
14.34
chick_num
【详解】
本题主要考查Python程序的执行。①公鸡数量的范围1-20,for cock_num in range(1,21)表示变量cock_num的范围是1-20,故此处填21。②母鸡的数量可能为1-33,同理,故此处填34。③此处是按顺序使用print()函数输出公鸡数量、母鸡数量、小鸡数量,故此处填chick_num。
15.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。
16.形参
分支结构(选择结构) if条件中的return语句改为return
print(money,"$=",money*6.505,"人民币"),其他elif语句类似
【详解】
本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。
17.total<60000
every_year*0.68
【详解】
本题主要考查Python程序执行与调试。①由题干可知,while循环条件是总销量total小于60000,故第一空填total<60000。②平均每年的销量比上一年增加68%,即every_year
+ =every_year*0.68,故第二空填every_year*0.68。
18.①n=len(a) sum+=1或sum=sum+1 6
【详解】
本题主要考查Python程序调试与执行。①变量n用来保存数组a的长度,使用len函数,故此处填n=len(a)。②使用for循环统计出80分(含80)以上的人数,用变量sum统计满足条件的人数,当满足if条件时,sum变量递增,故此处填sum+=1或sum=sum+1。③执行上述程序段后,sum=6,故输出的内容是6。
19.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。算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。⑯一个算法必须有零个或多个数据输入。⑰有一个或多个数据输出。⑱略
20.import 0~19(包括0和19) import random as r
让程序无限循环 break;
【详解】
本题主要考查Python程序的执行与调试。①Python中导入库文件的命令是import,如import random。②nge(0,20)生成的随机数的范围是0~19(包括0和19)。③如果不想写类似nge(0,20)这么长的句子,可以修改程序中的第一行为import random as r(给random取个简单的别名)。④while True
的作用是让程序无限循环。⑤如果while True造成程序无法停止,我们可以在程序中添加一行break;(满足条件后,执行break;可以跳出循环)。
21."+-*/" b==0 str(c)
【详解】
本题主要考查Python程序执行与调试。①变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填"+-*/"。②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b==0。③变量c保存运算结果,此处输出 c的结果,故填str(c)。
22.n[0:5] s=0 total=s-s//x*y
【详解】
本题主要考查Python程序的执行与调试。①此处通过条件分支结构取字符串n的前5个字符,当 len(n)>=5时,取n= n[0:5],即索引为0、1、2、3、4,故填n[0:5]。②用变量s统计消费合计,初值为0,故填s=0。③此处else部分处理1000元以下享受每满100减15优惠。应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。
23.是 k%2==0或(k+1)%2==1或(k-1)%2==1 ans+code[p] ans
【详解】
本题主要考查Python程序的执行与调试。①若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。②变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2==0或(k+1)%2==1或(k-1)%2==1。③如果p是1~9之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+code[p]。④变量ans保存转换后的十六进制,故此处填ans。
24._ csv
学校代码 (‘姓名’ ,axis=1)
将总人数存储到变量zrs中
【详解】
本题主要考查Python程序的执行与调试。①将csv文件读入并转化为数据框形式,故填
_ csv。②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。③此处删除"姓名"列,可以使用drop()函数来删除,故填 (‘姓名’ ,axis=1)。④zrs=len(),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。
25.range(100,1000) x//10%10 x%10 print ("三位数之内的水仙花是:"+str(x))
【详解】
本题主要考查Python程序的执行与调试。①水仙花数是指一个三位数,即[100,999],for x
in range(100,1000)表示x的范围是100-999,故此处填range(100,1000)。②变量g、s、b分别存放个位、十位、百位上的数,故s=x//10%10(“//”表示整除,“%”表示取余)。③g=x%10。④如果满足 x==(b**3 + s**3 + g**3),则输出“三位数之内的水仙花是:x”,故此处填print ("三位数之内的水仙花是:"+str(x))。
26.字符串
字符串
我的镜像世界通行密码是153
转换为字符串
连接字符串
【详解】
本题主要考查Python程序的执行与调试。①who='我的',可知变量who的数据类型字符串。②number='153'
,类似number的数据类型也为字符串。③print( who+destination+code+action+str(number)),是将变量字符串拼接后输出,故print语句输出的结果是我的镜像世界通行密码是153。④str(number)的作用是转换为字符串。⑤“+”在程序中的作用是连接字符串。
27.n=input("请输入一个正整数: ")
n=int(n)
For i in range(15,n+1,15)
print(i)
【详解】
本题考查的是Python循环语句。range函数,第一个参数表示开始,第二个参数表示停止,第三个参数表示步长。print缺省的话默认是换行输出。
28.b*b-4*a*c或b**2-4*a*c d>=0 -(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+(d))/(2*a),x2=(-(d))/(2*a),故此处填-(d))/(2*a)。④else部分,即x<0时,输出“方程无实数根”,故此处填print("方程无实数根")。
29.price=int(input("请输入消费额(整数):"))
if price < 200:
price=price-price*0.1
else:
price=price-price*0.2
print("折扣后的应付金额是:",price)
【详解】
本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int
函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。
30.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)。
版权声明:本文标题:资料python软件编程等级考试(一级)编程实操题03程序填空阅读填空程序试 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705475348h486298.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论