【编程】python真题word程序填空阅读填空程序试题
一、程序填空
1.某品牌手机第一年销量为
20000
台,假设平均每年的销量比上一年增加
68%
,请问几年
后能使总销量达到
60000
台。下面的程序能实现上述的功能,请将缺失的代码补充完整。
total=every_year=20000
year=1
while__________________:
every_year+=____________
total+=every_year
year+=1
print(year)
2.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
forfruitinfruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
3.编写程序,找到并输出
100
以内的素数。
4.分析完善程序
[
背景知识
]
为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号
限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善
下面的程序。(提示:①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌
中最后一位阿拉伯数字的奇、偶来决定单双号。)如:
请根据上述算法描述补全代码
s=input("
车牌号
s=")
n=6
x=s[n-1:n]
t()==Fal:
①
x=s[n-1:n]
if
②
==0:
print(“
双号
”)
el:
print(“
单号
”)
(
提示
:s[n:m]
的功能
:
从字符串
s
的
下标为
n
的元素开始,截取到下标为
m-1
的元素。例如
:s="12345",s[2:4]="34"
。
t):
判断是否为数字。
)
(
1
)根据题意,程序中空白①处应填写
:______
(
2
)根据题意,程序中空白②处应填写
:______
(填
:A/B/C/D
)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!=0
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.分析完善程序
已知包含
25
项的数列
:1
,
2/3
,
3/5
,
....
,
24/47
,
25/49
。
问题
1:
写出该数列的通项公式
f
(
n
)
=_
①
问题
2:
以下是计算
S=1+2/3+3/5+...+24/47+25/49
的程序,请补全代码
:
s=0
foriinrange(1,26):
s=s+
②
print(“s=”,s)
补充完成上述通项公式和程序:
①
f
(
n
)
=_________
②
___________
7.分析完善程序
某市出租车收费标准如下:
(
1
)
3
公里内(含
3
公里),收费
8
元
(
2
)超过
3
公里但未超过
6
公里部分,按
1.5
元
/
公里收费
(
3
)超过
6
公里部分,按
2.25
元
/
公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
[
算法分析
]
假设总费用为
p
,则可以分段计算
p=8‘
(
s
≤
3
)
p=1.5*
(
s-3
)
+8‘
(
3
≤
6
)
p=2.25*
(
s-6
)
+1.5*3+8‘
(
s>6
)
[
参考代码
]
a=float(input(“s=”))
ifs<=3:
p=8
if
p=1.5*
(
s-3
)
+8
ifs>6:
p=2.25*
(
s-6
)
+1.5*3+8
print(p)
根据上述回答如下问题:
(
1
)本题采用的算法是
________
(填
:
解析法
/
枚举法
/
排序法
/
递归法)。
(
2
)程序代码中空白处应填写的条件是
_______
(填
:A/B/C/D
)。
A.33ands<6D.s>3Ors<=6
8.求
100
以内素数。
9.编写一个程序,实现九九乘法口诀表。
10.操作说明:打开文件“
Y:/2/
”,在代码窗口指定位置
<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)
11.程序设计:唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩
萨。观音菩萨告诉孙悟空,在天庭里身高正好为
1000
米的那位神仙可以降伏此妖。于是悟
空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有
10000
个神仙。由
于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List
=
list(map(int
,
input(“
请按身高递增顺序依次输入
10000
个神仙的身高
”).split()))
left
=
1
right
=
10000
while
①
mid
=②
ifList[mid]
==
1000:
③
elifList[mid]
<
1000:
④
el:
⑤
print(“
能帮孙悟空的神仙在第{
0
}位上
”.format(mid
+
l))
(
1
)程序代码中①处正确的代码是(
_______
)。
A.left
<
rightB.left
<=
rightC.left!
=
rightD.left
>
right
(
2
)程序代码中②处正确的代码是(
_______
)。
A.(left
+
right)/2B.(left
+
right)2
C.(left
+
right)//2D.(left
+
right)2
(
3
)程序代码中③处正确的代码是(
_______
)。
A.passB.print(mid)zC.breakD.continue
(
4
)程序代码中④处正确的代码是(
_______
)。
-
A.left
=
midB.right
=
midC.left
=
mid
+
1D.right
=
mid-1
(
5
)程序代码中⑤处正确的代码是(
_______
)。
A.left
=
midB.right
=
midC.left
=
mid
+
1D.right
=
mid-1
12.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r
=
whiler!
=
0:
m
=
n
n
=
return
a
=
int(input(‘
请输入
a
的值
:’))
b
=
int(input(‘
请输入
b
的值
:’))
print(‘
最大公约数是
:')
填空:
________________________________________
13.地球绕太阳的运行周期为
365
天
5
小时
48
分
46
秒(合
365.24219
天),即一回归
年。公历的平年只有
365
天,比回归年短约
0.2422
天,每四年累积约一天,把这一天加于
2
月末(即
2
月
29
日),使当年的时间长度变为
366
天,这一年就是闰年。判断某一年是
否是闰年的方法是年份数能被
4
整除,但不能被
100
整除,或者年份数能被
400
整除。以
下是一段用于判断某一年是否是闰年的程序。
请将上面程序框中空格处的内容填写完整,其中①处填写代码注释
_________________________________________
14.完善程序。以下是计算
S=1+6+11+
…
+101
的程序代码。请你在处填写正确的语句。
s=0
k=1
while(k<=101)
__
s=0
k=1
while(k<101):
k=k+5
s=s+k
print(s+1)
15.现在有一个程序用来解决以下问题:如果有总量共
1020
个西瓜,第一天卖掉总数的一
半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020
c=0
while______________:
tc=tc-(tc/2+2)
_____________
print(c)
16.一家商场在降价促销,如果购买金额不高于
200
元,会给
10%
的折扣,如果购买金额
高于
200
元,会给
20%
的折扣。编写一个
Python
程序,输入消费额(整数),显示折扣后
的应付金额。
17.求解
a
到
b
内(包含
a
和
b
)所有的质数,并对每个质数的每一位数字求和。请完善
程序。程序如下:
importmath
defIsPrime(i):
ifi==1:
returnFal
forjinrange(2,int((i))+1):
if____:
returnFal
returnTrue
a=int(input("
请输入
a:"))
b=int(input("
请输入
b:"))
summ=0
foriinrange(a,b+1):
ifIsPrime(i):
________
whilet>0:
summ=summ+t%10
_________
print("
数字和为
:",summ)
18.辗转相除法,又称欧几里德算法,用于计算两个正整数
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
行划线处为
__________
。
19.现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以
灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人
们生活带来了美好的变化。小
C
是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴
快车。小
C
就在思考这个滴滴快车是怎么计费的?可否用所学的
Python
语言也编写一个计
费程序。于是小
C
开展了有关这个项目活动的探究。根据实际情况,回答问题。
(一)收集、分析数据,运用数理思维建模
登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:
滴滴快车(普通型)计价规则
时段起步价里程费时长费
普通时段
8.00
元
1.35
元
/
公里
0.20
元
/
分钟
00
:
00-06
:
308.50
元
2.40
元
/
公里
0.50
元
/
分钟
06
:
30-09
:
008.50
元
1.50
元
/
公里
0.45
元
/
分钟
21
:
00-23
:
008.50
元
1.50
元
/
公里
0.40
元
/
分钟
23
:
00-00
:
008.50
元
2.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.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数
码照相机⑤背景画⑥无线路由器
请回答下列问题:
(
1
)在购买的直播硬件设备中,属于模数转换的设备是
__________
(多选,填序号)
(
2
)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是
1080*1920
像
素、
24
位真彩色、帧频为
25fps
,视频压缩比为
100:1
,在不考虑视频传输优化的情况下,
问小强家目前
10Mbps
的宽带
__________
(选填:能
/
不能)满足直播要求。请列式证明
__________
。
(
3
)小强将某一天的售货情况从平台导出,保存为文件
.数据已按“流水号”升
序排序,如图
a
所示。流水号为
2019030602
的售货记录中,已成交的商品类别数是
__________
(填写数字),该流水号的总利润是
__________
元(填写数字,保留
1
位小
数)
图
a
(
4
)为了快速了解各类别商品的利润,小强用
python
编程处理。处理的结果界面如图
b
所示。部分代码如下,请在①②划线处填写合适的代码。
图
b
importpandasaspd
importnumpyasnp
asplt
detail=pD.read_excel(___)
print(detail)
foriinrange(len(detail[:])):
ifdetail[‘
成交与否
’][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
的值为整数,从键盘输
入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
deff(n):
ifn==0:
return1
el:
return_________
s=0
n=int(input("
请输入
n
:
"))
foriin_______:
s=________
print(s)
22.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过
增加一个校验位使得传输的二进制码中“
1
”的个数恒为奇数或偶数,因此该校验码也分为
“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加
一个校验位(
0
或
1
),使得“
1
”的个数为奇数;接收端接收并统计每个字节及其校验位
中“
1
”的个数,若为偶数,则意味着传输过程中存在差错。例如:
接收到的每个字节及校验码
1
的个数传输正误
1001010014错误
正确
1010110105
正确
根据以上原理,小强编写了一个
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=“”
foriins:
#统计
9
位二进制编码中“
1
”的个数
k=k+int(i)
if____:
print("
传输错误
!")
el:
print("
传输正确
!")
forjinrange(0,8,4):
p=int(s[j:j+4],2)
#int(x,[ba]):
将
x
(字符串或者数字)按照
ba
进制转换成整数
if0<=p<=9:
ans=ans+str(p)
el
:
ans=___
print("
字节编码用十六进制表示
:"
,
___
23.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证
每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。用
100
元钱买
100
只鸡,公鸡,母鸡,小鸡
都要有。公鸡
5
元
1
只,母鸡
3
元
1
只,小鸡
1
元
3
只。请问公鸡,母鸡,小鸡各应该买
多少只?
假设公鸡有
X
只,母鸡有
Y
只,小鸡有
Z
只。
以下
Python
程序段实现了“百元买百鸡”的功能,请补全
①②③
处代码。
c=0
forxin____①:
foryinrange(1,33):
z=100-x-y
if______②:
print("
公鸡
:",x,"
母鸡
:",y,"
小鸡
:",z)
_____③
print("
共有买法
",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.水仙花数是指一个三位数,它的每个位上的数字的
3
次方之和就等于它本身,例如:
1**3+5**3+3**3=153
。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
[
问题求解
]
设这个数存放于变量
x
中,变量
g
、
s
、
b
分别存放个位、十位、百位上的数。需
得分离数字得到每位上的数,即将变量
g
、
s
、
b
表示为
x
的形式。请阅读如下
python
程
序,在空白处填写适当的表达式或语句,使程序完整。
(
"
三位数之内的水仙花是:
"
)
forxin___
(
100
,
1000
):
b=x//100
s=
(
x//10
)
___
g=___
Ifx=
(
b**3+s**3+g**3
):
(
___
)
26.设计完成算法之后,小
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
9el
:
10Tot2=8+
(
S-3.3
)
*1.35
11Cost-Totl+tot2
12print
(
Cost
)
#输出总车费
(
3
)小
C
写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报
错的原因是:
_______________________________________________________________________________
_____________
。
NameErrorTraceback
(
mostrecentcalllast
)
9el
:
10
—→
11Cost=Tot1+tot2
12
NameError
:
name
’
tot2
’
isnotdefined
(
4
)经过修改之后,小
C
对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运
行得到的结果与实际支付的费用一致,小
C
会心一笑验证得知程序正确无误。小
C
借助于
计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程
序,合理的顺序是
_________
。(填写序号即可)
(
5
)总结用计算机解决问题的优势主要有:
_______________________________________________
。
27.阅读程序。分析以下两段
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
的含义是
_________
。
28.使用
Python
自身提供的
IDLE
集成开发环境录入以下代码及调试
运行,检测结果。
#鸡兔同笼
forxinrange(1,23):
y=35-x
if4*x+2*y==94:
print("
兔子有
%s
只,鸡有
%s
只
"%(x,y))
特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处
置办法,直至能正确输出结果。
29.(项目情境)一元二次方程
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+(d))/(2*a))
#输出方程的其中一个实数根
print("x2=",
(
_________
)
#输出方程的另一个实数根
el:
_________
#输出“方程无实数根”
30.有如下程序段:
sum=0
foriinrange(1,20,3):
sum+=i
print(“sum=”,sum)
(1)
循环变量
i
的初值为:
_________
,终值为:
_________
,步长为:
__________
。
(2)
该程序执行后,输出的结果为:
____________________
。
【参考答案】***试卷处理标记,请不要删除
一、程序填空
1.total<60000every_year*0.68
【详解】
本题主要考查
Python
程序执行与调试。
①
由题干可知,
while
循环条件是总销量
total
小
于
60000
,故第一空填
total<60000
。
②
平均每年的销量比上一年增加
68%
,即
every_year
+=every_year*0.68
,故第二空填
every_year*0.68
。
2.banana
apple
mango
a=3
【详解】
本题主要考查
Python
中
For
循环结构。
for
循环可以遍历任何序列的项目,如一个列表或
者一个字符串;
len()
方法返回列表元素个数。因此本题输出为各列表内容及列表元素个
数。
【点睛】
3.参考答案
1
:
foriinrange(2,101):
j=2
whilej<=i:
ifi%j==0:
break
j+=1
ifj
continue
el:
print(i,end="")
参考答
:2
:
foriinrange(2,101):
forjinrange(2,i):
if(i%j==0):
break
el:
print(i)
【详解】
本题考查是
Python
语言编程解决问题。
break
语句可以立即终止当前循环的执行,跳出当
前所在的循环结构。无论是
while
循环还是
for
循环,只要执行
break
语句,就会直接结束
当前正在执行的循环体。这就好比在操场上跑步,原计划跑
10
圈,可是当跑到第
2
圈的时
候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了
break
语句
提前终止了循环。答案中代码的实现过程见下图:
参考答案
1
:
参考答案
2
:
4.n=n-1
或
n-=1B
【详解】
本题主要考查算法及
Python
程序设计。
①
此处是判断
x
是否为数字,若不是数字,则
n
递减取前一位字符继续进行判断,故此处填
n=n-1
或
n-=1
。
②
当
while
循环结束,表明此
时
x
为数字,若
int(x)%2==0
,即
x
为偶数,输出
“
双号
”
,否则输出单号,故选
B
选项。
5.AAs-max-min
【详解】
本题主要考查
Python
程序的执行与调试。
①
在引用
tkinter
模块进行界面设计的过程中,
窗体中录入评委打分的对象是由
Entry
控件生成的(
Entry
是
Tkinter
用来接收字符串等输入
的控件,该控件允许用户输入一行文字),故选
A
选项。
②
题目中算法描述采用的是伪代
码,故选
A
选项。
③
从总分中
s
中去掉最高分
max
和最低分
min
,求出其他
4
位评委的平
均分
aver
作为选手的最终得分,故此处填
s-max-min
。
6.n/(2*n-1)或n/(n*2-1)i/(2*i-1)或i/(i*2-1)
【详解】
本题主要考查
Python
程序的执行与调试。
①
分析数列可知,分子第
n
项是
n
,分母第
n
项是
2*n-1
,故该数列的通项公式
f
(
n
)
=n/
(
2*n-1
)或
n/
(
n*2-1
)。
②
此处是对前
n
项
进行求和,变量是
i
,使用语句
s=s+i/
(
2*i-1
)或
s=s+i/
(
i*2-1
),故此处填
i/
(
2*i-1
)或
i/
(
i*2-1
)。
7.解析法或解析
A
【详解】
本题主要考查
Python
程序的执行与调试。
①
由算法分析可知,本题采用的算法是解析法
或解析。
②3
公里内(含
3
公里),收费
8
元;超过
3
公里但未超过
6
公里部分,按
1.5
元
/
公里收费;超过
6
公里部分,按
2.25
元
/
公里收费,故此处填
3
,故选
A
选项。
8.foriinrange(1,100):
ifi>1:
forjinrange(2,i):
if(i%j)==0:
break
el:
print(i)
【详解】
本题主要考查
Python
程序设计。可以通过
for
循环找出
100
以内的素数,用
i
依次整数
2~i-1
,如果能整除表明
i
不是素数,否则
i
为质数,具体代码如下:
foriinrange(1,100):
ifi>1:
forjinrange(2,i):
if(i%j)==0:
break
el:
print(i)
9.foriinrange(1,10):
forjinrange(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j),end="")
print("")
【详解】
本题主要考查
Python
程序的执行。九九乘法口诀表可以通过嵌套for循环实现,内层循环
完一次,执行
print("")
换行,具体代码如下:
foriinrange(1,10):
forjinrange(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j),end="")
print("")
10
.
<1>n%i==0<2>s=s+1
【详解】
本题主要考查
Python
程序的执行。
<1>
变量
i
的取值范围是
1~n
,如果
n
能整除
i
,则
i
为
n
的一个约数,
s
统计约数的个数,故此处应修改为
n%i==0
。
<2>
如果
n
能整除
i
,则
s
递
增,故此处应改为
s=s+1
。
11.BCCCD
【详解】
本题主要考查二分查找算法及
Python
程序实现。①二分查找的循环条件是
left
<=
right
,
故选
B
选项。②此处是取中间值,需要整除2,故填
(left
+
right)//2
,故选
C
选项。③如果
mid对应的列表值是1000,表示已找到,则用break跳出循环,选
C
选项。④如果mid对
应的列表值小于1000,则需要更新left的值为mid+1继续循环,选
C
选项。⑤否则更新
right的值为mid-1,选
D
选项。
12.m%nrr
=
m%nngcd
(
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
)。
13.将
year
转换为整型数据,并赋值给
yearAndyear%100!=0oryear
【详解】
本题主要考查
Python
程序设计。①input接收的数据类型是字符串型,该语句表示将
year
转换为整型数据,并赋值给
year
。判断某一年是否是闰年的方法是年份数能被
4
整除,但
不能被
100
整除,或者年份数能被
400
整除,故第二、三、四空分别填②
And
③
year%100!=0
④
or
⑤最后输出打印某一年是否是闰年,需要将year转换为字符型。
14
.
s=s+k
k=k+5
print(s)
【详解】
本题主要考查
Python
程序的执行与调试。
s=0
,
k=1
,计算
S=1+6+11+
…
+101
,循环条件是
k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。
15.tc>0c=c+1或者c+=1
【详解】
本题主要考查
Python
程序执行与调试。
①
变量
tc
保存西瓜数量,当
tc
大于
0
时,一直循
环,故第一空填
tc>0
。
②
变量
c
保存天数,每循环一次,变量
c
递增
1
,故第二空填
c=c+1
或者
c+=1
。
16.price=int(input("
请输入消费额(整数)
:"))
ifprice<200:
price=price-price*0.1
el:
price=price-price*0.2
print("
折扣后的应付金额是:
",price)
【详解】
本题主要考查
Python
程序的执行与调试。用键盘通过输入函数
input
输入消费额,并用
int
函数将其转换为整数类型,通过
if
条件分支结构,判断如果购买金额不高于
200
元,会给
10%
的折扣,如果购买金额高于
200
元,会给
20%
的折扣,最后用
输出函数输出折扣
后的应付金额。
17.i%j==0t=it=t//10
【详解】
本题主要考查
Python
程序执行与调试。①此处是处理从
2
开始到
i
开方加
1
,若能整除
i
则表明
i
不是素数,否则直到循环结束,表明
i
是素数,故此处填
i%j==0
。②若
i
是素数,
则将变量
i
赋给变量
t
,并通过
while
循环将
t
的每一位取出来并加到
summ
中,故此处填
t=i
。③同理此处取出个位数后,更新
t
的值继续循环,故此处填
t=t//10
。
18.自然语言确保
m>=nr!=0
【详解】
本题主要考查算法及
Python
程序实现。①描述一是自然语言描述法;描述二是流程图描述
法;描述三是计算机程序语言描述法。②在描述三中代码
4
到
6
行,当m
的值,否则跳过,故作用是确保
m>=n
。③由题干可知,循环条件是余数r不等于0,故代
码第
8
行划线处为
r!=0
。
19.DTot1=
(
T-9
)×
0.2Tot2=8Tot2=8+
(
S-3.3
)×
1.35Cost=Totl+Tot2
第一步:输
入实际里程
S
和实际时长
T
第四步:计算应支付费用
Cost
第五步:输出应支付费用
CostEA
顺序结构选择结构循环结构顺序结构选择结构零个一个略
【详解】
本题主要考查算法及程序设计。
①
小
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.①④不能
1080*1920*24*25
*
1/1024/1024/100
≈
10.8Mbps
,大于网络传输带宽
10Mbps
,所以不能满足直播要求。12或2.0
‘’
或“
”
(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
。⑥该表格文件名是
,此处读入该表格文件,故填
‘’
或“
”。⑦利润
=
(售价
-
进价)
*
数量,数据已经读到
detail
中,故此处填
(detai1[‘
售价
’]-detail[‘
进价
’])*detai1[‘
数量
’]
。
21
.
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
,
foriinrange(1,n+1)
表示
i
的范围是
[1,n]
,故此处填
range(1,n+1)
。
③
循环体实现累加,将每一项阶乘
f(i)
加到
s
中,故此处填
s+f(i)
。
22.是
k%2==0
或
(k+1)%2==1
或
(k-1)%2==1ans+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
。
23.range
(
1
,
20
)
5*x+3*y+z/3==100c=c+1
【详解】
本题考查的是
python
编程。
X
代表的是公鸡,公鸡
5
元一只,所以此处的
range
函数为
range
(
1
,
20
),左闭右开区间。if条件是满足三种鸡的总价格为100元的条件,故答案
为
5*x+3*y+z/3==100
,注意这里是一个判断条件,用==表示。c代表的是有几种购买方
案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。
24.列表字典键值对
33
【详解】
本题考查的是
python
语言的数据类型,列表和字典。(
1
)列表是写在方括号
[]
之间,用逗
号分隔开的元素列表,
students=['
小明
','
小红
','
小刚
']
就是列表。(
2
)字典用
{}
标识,它是
一个无序的“键(
key
):值(
value
)”对集合,字典当中的元素是通过键来存取的,而不
是通过偏移存取。
scores={'
小明
':95,'
小红
':90,'
小刚
':90}
就是一个字典类型。(
3
)其中“
'
小
明
':95
”就构成了一个键值对。(
4
)
len()
方法返回列表元素个数。
students=['
小明
','
小红
','
小刚
']
,里面有三个元素,故返回值是
3
。(
5
)
print(len(scores))
,其中
scores={'
小明
':95,'
小红
':90,'
小刚
':90}
该字典有
3
个键值对,故输出结果是
3
。
25.range%10x%10
或
x-b*100-s*10
或其它同等答案
x
【详解】
本题考查的是
Python
程序设计。水仙花数是指一个三位数,故使用
range
函数遍历
100~999
;
s
存放的是十位数,故可以选对
x
取整后再除以
10
求余,故第二空应填
%10
(求
余符号
%
);
g
是存放个位,直接除以
10
求余,或减去前面整百和整十的数,故第三空
为:
x%10
或
x-b*100-s*10
或其它同等答案;如果找到满足条件的数,则输出,故第四空
为:
x
。
26.C.
高级语言
C.
赋值语句
D.
注释语句
B.
表达式
A.
函数
Python
程序设计语言规
定,在标识符中,字母大小写是有区别的。该程序代码中表示里程费的
Tot2
错误将字母
“
T
”写成了小写”“
t
”。合理的顺序是:③分析问题①设计算法②编写程序④调试运
行程序略
【详解】
本题主要考查
Python
程序的编写。
①Python
程序设计语言属于程序设计语言中的高级语
言,选
C
选项。
②“Tot2=8”
是一个赋值语句,选
C
选项。
③“
#初始化时长费为
0”
是一个注
释语句,选
D
选项。
④“S
<
=3.3”
是一个表达式,选
B
选项。
⑤“float
(
input
(
“
请输入时
长
”
))
”
是一个函数,
float()
函数用于将整数和字符串转换成浮点数,选
A
选项。
⑥
编译
运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:
Python
程序设计
语言规定,在标识符中,字母大小写是有区别的。该程序代码中表示里程费的
Tot2
错误将
字母
“T”
写成了小写
”“t”
。
⑦
小
C
借助于计算机编写程序解决问题的这个过程,合理的顺序
是:
③
分析问题
①
设计算法
②
编写程序
④
调试运行程序。
⑧
略
27
.
i=i+1
无数遍
100
无数遍
i!=0
或
i>0
或其他等价答案
【详解】
本题主要考查
Python
程序的执行与调试。
①
在程序
1
中,
i+=1
这句话的含义是
i=i+1
(即
i
递增
1
)。
②i
的初值为
1
,
while
循环条件
i<101
为真,会一直执行循环体,无法跳出循
环体执行
i+=1
,故
‘
把这句话打印
100
遍
’
实际输出了无数遍。
③
在程序
2
中,
i
的初值是
100
。
④i=100
,
whilei
(即
while100
)一直为真,会一直执行循环体,无法跳出循环体执
行
i=i-2
,故
‘
把这句话打印
100
遍
’
实际输出了无数遍。
⑤
在程序
2
中,
whilei
的含义是
i!=0
或
i>0
或其他等价答案
28
.错误
1
:兔子
4
只腿,最多只能是
23
只,而
range(1,23)
只取到
22
,没取到
23
,故应
改为:
range(1,24)
错误
2
:缩进错误,
y=35-x
、
if4*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
、
if4*x+2*y==94:
是
for
语句中的语句块,应缩进。
print("
兔子
有
%s
只,鸡有
%s
只
"%(x,y))
是
if
语句中的语句块,应缩进。
调试完最终输出:兔子有
12
只,鸡有
23
只。
29
.
b*b-4*a*c
或
b**2-4*a*cd>=(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=(-b-
(d))/(2*a)
,故此处填
-(d))/(2*a)
。
④el
部分,即
x<0
时,输出
“
方程无
实数根
”
,故此处填
print("
方程无实数根
")
。
30.初值为1终值为:20步长为:3sum=70
【详解】
本题主要考查
Python
循环结构。由代码
foriinrange(1,20,3)
,可知循环变量
i
的初值为
1
,终值为
20
,步长为
3
。该程序执行后,输出的结果为
sum=sum+i=0+1+4+7+10+13+16+19=70
。
本文发布于:2023-01-25 09:10:34,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/132627.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |