信息技术考试卷 python图文word程序填空阅读填空程序试题

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

信息技术考试卷 python图文word程序填空阅读填空程序试题
一、程序填空
1.完善程序实现如下功能并保存:
有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("运行完毕,请按回车键退出...")
2.调试程序。

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

fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
3.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。

如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。

(提示:①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。

)如:
请根据上述算法描述补全代码
s=input("车牌号s=")
n=6
x=s[n-1:n]
while x.isdigit()== False:

x=s[n-1:n]
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==0 B.int(x)%2 ==0 C.int(x)%2=0 D.int(x)%2!=0
4.分析完善程序
某市出租车收费标准如下:
(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<s≤6)
p=2.25*(s-6)+1.5*3+8 ‘(s>6)
[参考代码]
a=float(input(“s=”))
if s <= 3 :
p= 8
if
p=1.5*(s-3)+8
if s > 6 :
p=2.25*(s-6)+1.5*3+8
print( p)
根据上述回答如下问题:
(1)本题采用的算法是________(填:解析法/枚举法/排序法/递归法)。

(2)程序代码中空白处应填写的条件是_______(填: A/B/C/D)。

A.3<s<=6 B.3<=s<=6 C.s>3 and s<6 D.s>3 Or s<=6
5.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。

6.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被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 ______:
for i in range(month-1):
tall_day +=f_run[i]
__________
else:
for i in range(month-1):
tall_day +=f_run[i]
tall_day += sun
print(day+"是当年的第"+str(tall_day)+"天")
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。

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

8.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

9.操作说明:打开文件“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(________)
10.操作说明:编写一个程序实现以下功能,将程序以“Y:/3/3.py”作为文件名保存。

题目:设计100以内的数中能同时被3或5整除的个数。

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

代码如下:
n=int(input("请输入一个十进制数:"))
result=[]
while n>0:
result.append( ① )
n=②
result.reverse()
for i in result:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2
(2)程序代码中②处可能的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2
12.(最大公约数)用辗转相除法求两个正整数的最大公约数。

代码如下:
def gcd (m,n):
r=
while r!=0:
m=n
n=
return
a=int(input(‘请输入a的值:’))
b=int(input(‘请输入b的值:’))
print(‘最大公约数是:' )
填空:
________ ________ ________ ________ ________
13.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。

程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。

s=input("请输入字符串s:")
_______
flag = False
result=" "
for i in range( 0 , k-1):
if ___________________ :
result=result+s[i]+"-"
flag = True
elif ord(s[i]) ! = ord(s[i+1])-1:
result=result+s[i]
_____
result=result + s[i+1]
print("缩写后的字符串为:",result)
划线处①处应该填入的语句为:;
划线处②处应该填入的语句为:;
划线处③处应该填入的语句为:。

14.阅读程序。

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

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

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.完善代码并保存。

实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。

cj=[]
for i in range(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj), min(________))
input("运行完毕,请按回车键退出...")
18.已知圆柱体的底面半径为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)请找出程序中的错误代码,并改正。

____________________________________________
19.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。

tc=1020
c=0
while ______________ :
tc=tc-(tc/2+2)
_____________
print(c)
20.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。

下面的程序能实现上述的功能,请将缺失的代码补充完整。

total= every_year=20000
year=1
while __________________ :
every_year + = ____________
total + = every_year
year + = 1
print(year)
21.已知6月份10位技术考试成绩:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
for i in range(n):
if a[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是______
22.阅读程序。

观察使用随机数求解百钱白鸡问题的代码并回答问题。

百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
while True:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if 5*x+3*y+z/3==100 and x+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。

(2)random.randrange(0,20)生成的随机数的范围是_________。

(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为________
(4)while True 的作用是______ 。

(5)如果while True造成程序无法停止,我们可以在程序中添加一行 _________。

23.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。

许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。

但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。

小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。

为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。

现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。

于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。

P10P9P8P7P6P5P4P3P2P1
A
1166116329438582652714756925
E10E9E8E7E6E5E4E3E2E1
B
35116215271309428576772806950
A= [11,66,116,329,438,582,652,714,756,925]
B = [35,116,215,271,(5)__,428,576,772,806,950]
算法一:
myRank =
i = 0
j = 0
while (i < len(A) and j < len(B)):
if (A[i] < B[j]):
(6)______
i += 1
else:
myRank.append(B[j])
j += 1
while (i < len(A)):
myRank.append(A[i])
i += 1
else:
while ((7)______):
myRank.append(B[j])
j += 1
print(myRank)
算法二:
myRank = [0]*(len(A)+len(B))
i = 0
j = 0
k = 0
while ((8)_____):
k = i+j
if (i >= len(A)):
myRank[k] = B[j]
j += 1
elif (j >= len(B)):
myRank[k] = A[i]
i += 1
elif ((9)_____):
myRank[k] = A[i]
i += 1
else:
myRank[k] = B[j]
j += 1
print(myRank)
24.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金
突发奇想,能不能用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=”则输出结果为___________。

25.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“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("字节编码用十六进制表示:",___
26.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。

小明利用枚举算法解决“百元买百鸡”问题。

用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。

公鸡5元1只,母鸡3元1只,小鸡1元3只。

请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。

以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。

c = 0
for x in ____① :
for y in range(1,33):
z = 100-x-y
if ______② :
print("公鸡:",x,"母鸡:",y,"小鸡:",z)
_____③
print("共有买法",c,"种")
27.阅读程序。

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

who='我的'
action='是'
destination='镜像世界'
number='153'
code='通行密码'
print( who+destination+code+action+str(number))
(1)变量who的数据类型_______________。

(2)类似number的数据类型______________ 。

(3)print语句输出的结果是______________。

(4)str(number)的作用是_________。

(5)“+”在程序中的作用是____________。

28.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。

校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。

用Python设计一个程序,输入物品代码,判断输入的代码
中校验码是否正确,如果正确输出“正确”,否则输出“错误"。

运行样例如下所示:
样例1:
输入:2-163-91475-4
输出:正确
样例2:
输入:2-163-91475-5
输出:错误
(1)Python程序实现如下,请在划线处填入正确的代码:
s=input("输入物品代码: ")
a=[]
for i in range (0, 13):
if ___
a. append(int (s[i])) #append( )函数用于在列表末尾添加新的对象
sum=0
for i in range(0, 9) :
____
sdm=sum%10
___
if sdm==ydm :
print("正确")
else:
print("错误")
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.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。

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

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

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

【点睛】
3.n=n-1或 n-=1 B
【详解】
本题主要考查算法及Python程序设计。

①此处是判断x是否为数字,若不是数字,则n 递减取前一位字符继续进行判断,故此处填n=n-1或 n-=1。

②当while循环结束,表明此时x为数字,若int(x)%2 ==0,即x为偶数,输出“双号”,否则输出单号,故选B选项。

4.解析法或解析 A
【详解】
本题主要考查Python程序的执行与调试。

①由算法分析可知,本题采用的算法是解析法或解析。

②3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3<s<=6,故选A选项。

5.pw=input("请输入密码:")
password="123456"
i=1
while(i<=3):
if pw==password:
print("恭喜你进入系统!")
break
else:
print("请重新尝试:",i)
pw = input("请输入密码:")
i=i+1
【详解】
本题主要考查程序设计。

可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("请输入密码:")
password="123456"
i=1
while(i<=3):
if pw==password:
print("恭喜你进入系统!")
break
else:
print("请重新尝试:",i)
pw = input("请输入密码:")
i=i+1
6.int(day[5:7]) (year%4==0 and year%100!=0 or year%400==0) and month>=2 tall_day+=1 110
【详解】
本题主要考查Python程序的执行与调试。

①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。

②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。

③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。

④输入“2020-4-19”为当年的第110天。

7.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=" ")
8.s=input("请输入要转换的字符)
c=len(s) #len 求字符串长度
for i in range(0,c):
if i<2:
print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i]) + 3))
【详解】
本题主要考查程序设计。

题干要求可通过Python程序条件分支结构实现,具体代码如下:s=input("请输入要转换的字符)
c=len(s) #len 求字符串长度
for i in range(0,c):
if i<2:
print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i]) + 3))
9.n<1 or n>7 list[n-1]
【详解】
本题主要考查Python程序调试。

①输入的数字不是在范围(1至7)输出“输入错误!”,故此处if判断条件是n<1 or n>7。

②列表的索引是从0开始,即列表list索引是从0~6,而n的范围是从1~7,故此处填list[n-1]。

10.c=0
print("能同时被3或5整除的数是:",end=" ")
for i in range(1,101):
if i%3==0 and i%5==0:
c+=1
print(i,end=" ")
print("")
print("能同时被3或5整除的个数是:"+str(c))
【详解】
本题主要考查Python程序设计。

设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从1~99,用变量c统计能同时被3或5整除的个数,如果满足if 判断条件,则变量c递增,循环完输出c的值,具体代码及运行结果如下:
11.A C
【详解】
本题主要考查Python程序设计。

①此处将n取余2,用append函数将值追加到列表result 中,故此处填n%2,选A选项。

②当n大于0时,n整除2继续循环,循环结束使用reverse函数,将result列表中的元素逆转,故此处填n//2,选C选项。

12.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)。

13.k=len(s)ord(s[i])==ord(s[i+1])-1 and flag==False 或
ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and
flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag flag = False
【详解】
本题主要考查Python程序的执行与调试。

①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。

②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填
ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag。

③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag = False。

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

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.x cj
【详解】
本题主要考查Python程序执行与调试。

①从键盘输入10个学生的测试成绩,range(a,b)的
范围是从a~b,但不包括b,故第一空填10。

②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。

③求最大值用max函数,求最小值用min函数,故第三空填cj。

18.顺序结构pi=3.14r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高h:”))
【详解】
本题主要考查Python程序执行与调试。

①分析程序可知,解决问题的程序用到的控制结构有:顺序结构。

②圆周率定义为:3.14,故第二空填pi=3.14。

③r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差 h=float(inpu t(“请输入高h:”))。

19.tc>0c=c+1 或者c+=1
【详解】
本题主要考查Python程序执行与调试。

①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。

②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1 或者c+=1。

20.total<60000every_year*0.68
【详解】
本题主要考查Python程序执行与调试。

①由题干可知,while循环条件是总销量total小
于60000,故第一空填total<60000。

②平均每年的销量比上一年增加68%,即every_year + =every_year*0.68,故第二空填every_year*0.68。

21.①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。

22.import 0~19(包括0和19) import random as r 让程序无限循环 break;
【详解】
本题主要考查Python程序的执行与调试。

①Python中导入库文件的命令是import,如import random。

②random.randrange(0,20)生成的随机数的范围是0~19(包括0和19)。

③如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为import random as r(给random取个简单的别名)。

④while True 的作用是让程序无限循环。

⑤如果while True造成程序无法停止,我们可以在程序中添加一行break;(满足条件后,执行break;可以跳出循环)。

23.myRank.append(A[i]) j < len(B) k<len(A)+len(B)-1 A[i] < B[j]
【详解】
本题主要考查python编程。

根据表格所示,列表B中第5个元素为309,因此①处为309;A[i] < B[j]时,将列表末尾添加A[i],因此②处为myRank.append(A[i]);当列表未结束时,列表末尾添加相应元素,因此③处为j < len(B);算法二中引入变量k,用以记录
i与j的和,当k小于len(A)+len(B)-1说明两列表未结束,因此④处为k<len(A)
+len(B)-1;若A[i] < B[j],则先将A[i] 添加至列表末尾,因此⑤处为A[i]< B[j]。

【点睛】
24.n=10 m=m+(n**(le-2-i))*a t=convert(s1) -24D
【详解】
本题主要考查Python程序的执行与调试。

①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。

②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。

③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填
t=convert(s1)。

④1110B转化为十进制数是14D,30H转化为十进制数是48D,故
1110B+10D-30H=-24D。

25.是 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。

26.range(1,20) 5*x+3*y+z/3 == 100 c = c+1
【详解】
本题考查的是python编程。

X代表的是公鸡,公鸡5元一只,所以此处的range函数为range(1,20),左闭右开区间。

if条件是满足三种鸡的总价格为100元的条件,故答案为5*x+3*y+z/3 == 100,注意这里是一个判断条件,用==表示。

c代表的是有几种购买方案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。

27.字符串字符串我的镜像世界通行密码是153转换为字符串连接字符串
【详解】
本题主要考查Python程序的执行与调试。

①who='我的',可知变量who的数据类型字符串。

②number='153' ,类似number的数据类型也为字符串。

③print( who+destination+code+action+str(number)),是将变量字符串拼接后输出,故print 语句输出的结果是我的镜像世界通行密码是153。

④str(number)的作用是转换为字符串。

⑤“+”在程序中的作用是连接字符串。

28."0"<=s[i]<="9" 或s[i] in "0123456789” sum=sum+a[i]*(i+1) ydm=a[9]
【详解】
本题主要考查Python程序执行与调试。

①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9" 或s[i] in "0123456789”。

②校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填
s um=sum+a[i]*(i+1)。

③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此。

相关文档
最新文档