计算机二级Python真题及答案解析3word程序填空阅读填空程序试题
一、程序填空
1.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
2.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
3.调试程序。请阅读以下程序并写出运行结果。
#ex16.py
i=0
sum=0
while i<10:
if i%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
_________
4.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
* *
* * *
* * * *
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
for i in range(6) :
s=s+a[i]
if a[i]>max:
max=a[ i]
if a[i] <min:
min=a[ i]
aver=( )/4
(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。
A.Entry B.Label C.Frame D.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
for i in range(1,26):
s=s+ ②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
7.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:”))
for i in range(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____ ):
if i==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
if t==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
8.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
9.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
10.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
11.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
12.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:输入一个正整数n(1至100),输出它的约数的个数。
s=0
n=int(input(“请输入一个正整数:”))
if n<1 or n>100:
exit #输入的数不符合要求,退出
for i in range(1,n+1):
if n//i=0:___<1>
s=s+i <2>
print(“约数的个数是:”,s)
13.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[ ]
for i in range(100,1000):
if_____________:
a.append(i)
total + = 1
print("这小朋友总的人数有:")
for j in range(len(a)):
print(____,end='、')
print('')
print('可能情况数为:',total,'种')
划线处①处应该填入的语句为: ;
划线处②处应该填入的语句为: ;
划线处③处应该填入的语句为: 。
14.阅读程序。分析条件语句的代码并回答问题。
(1)如果不能使用int()函数,那么变量s的类型将会变成 ______ 。
(2)如果你的期末成绩是85,你得到的评价将会是____________ 。
(3)如果你的期末成绩是55,你得到的评价将会是____________ 。
(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。
(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。
15.完善程序实现以下功能并保存。
输出数组的最大值。
arr1 =[12, 435, 76, 24, 78, 54, 866, 43]
________ = -32768
for i in range(0,7):
if arr1[i] > max1 : max1 = ________
python和vb的代码可以通用吗print("最大值是:", ________)
input("运行完毕,请按回车键退出...")
16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。
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.有如下程序段:
sum=0
for i in range(1,20,3) :
sum+=i
print(“sum=”,sum)
(1)循环变量i的初值为:_________,终值为:_________,步长为:__________。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论