试题python二级基本考点word程序填空阅读填空程序试题.docx

上传人:b****2 文档编号:12629864 上传时间:2023-04-21 格式:DOCX 页数:33 大小:1.51MB
下载 相关 举报
试题python二级基本考点word程序填空阅读填空程序试题.docx_第1页
第1页 / 共33页
试题python二级基本考点word程序填空阅读填空程序试题.docx_第2页
第2页 / 共33页
试题python二级基本考点word程序填空阅读填空程序试题.docx_第3页
第3页 / 共33页
试题python二级基本考点word程序填空阅读填空程序试题.docx_第4页
第4页 / 共33页
试题python二级基本考点word程序填空阅读填空程序试题.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

试题python二级基本考点word程序填空阅读填空程序试题.docx

《试题python二级基本考点word程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《试题python二级基本考点word程序填空阅读填空程序试题.docx(33页珍藏版)》请在冰豆网上搜索。

试题python二级基本考点word程序填空阅读填空程序试题.docx

试题python二级基本考点word程序填空阅读填空程序试题

试题python二级基本考点word程序填空阅读填空程序试题

一、程序填空

1.在一千多年前的《孙子算经》中,有这样一道算术题:

“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?

”。

即一个数除以3余2,除以5余3,除以7余2,求这个数。

i=①________

while(i%3!

=2②________i%5!

=3ori%7!

=2):

i=③________

print(i)

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+22+32+……+1002的结果

_______________________________

_______________________________

_______________________________

_______________________________

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

4.完善程序。

以下是猜数游戏的程序,请在画线出填写正确的内容。

importrandom

secret=random.randint(0,10)

print(“---猜数游戏-----”)

cs=int(input(“你猜的数字是”))

whilecs!

=secret:

_______cs>secret:

_________(“唉,猜大啦!

”)

__________:

print(“嘿嘿,猜小了!

”)

cs=int(input(“重新猜一个靠谱的数字是:

”))

print(“游戏结束,不玩了!

”)

5.调试程序。

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

fruites=['banana','apple','mango']

forfruitinfruites:

print(fruit)

a=len(fruites)

print('a=',a)

_________________

6.调试程序。

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

#ex16.py

i=0

sum=0

whilei<10:

ifi%3==0:

sum+=i

print(i)

i=i+1

print('sum',sum)

_________

7.阅读程序。

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=””的功能是_______。

8.编写程序。

信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。

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

s=0

foriinrange(1,102,  ):

s=  

print(s)

请补充完成上述程序①_________②_________

10.分析完善程序

已知包含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)=_________

②___________

11.分析完善程序

某市出租车收费标准如下:

(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

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

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

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

提示:

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

13.输入三个同学的成绩,然后大到小排列。

14.请在空格处填写正确的代码,使程序完善。

实现功能:

用辗转相除法求解两个正整数的最大公约数。

x=int(input('请输入第一个正整数:

'))

y=int(input('请输入第二个正整数:

'))

m=max(x,y)#找出x,y中的最大值

n=min(x,y)#找出x,y中的最小值

r=m%n#求得最大值除以最小值后的余数

whiler!

=0:

#如果余数不等0,则进行以下循环

m=________#把最小值赋给m

n=_________#把余数赋给n

r=m%n#求得最大值除以最小值后的余数

print('这两个数的最大公约数为:

',______)

input("运行完毕,请按任意键退出....")

15.小王编写了“字符串缩写”程序,实现如下功能:

1.输入一串由英文字母和数字组成的字符串,

2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,

3.例如:

字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。

程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:

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

s=input("请输入字符串s:

")

_______

flag=False

result=""

foriinrange(0,k-1):

if___________________:

result=result+s[i]+"-"

flag=True

eliford(s[i])!

=ord(s[i+1])-1:

result=result+s[i]

_____

result=result+s[i+1]

print("缩写后的字符串为:

",result)

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

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

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

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

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

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

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

17.有如下程序段:

sum=0

foriinrange(1,20,3):

sum+=i

print(“sum=”,sum)

(1)循环变量i的初值为:

_________,终值为:

_________,步长为:

__________。

(2)该程序执行后,输出的结果为:

____________________。

18.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。

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

total=every_year=20000

year=1

while__________________:

every_year+=____________

total+=every_year

year+=1

print(year)

19.辗转相除法,又称欧几里德算法,用于计算两个正整数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行划线处为__________。

20.密码强度检测。

编写python程序,实现如下功能:

输入要检测的密码,输出密码强度结果。

密码字符分为数字字符、字母和其他符号三类。

密码强度的检测方法为:

若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!

”。

若密码位数在8位及以上,则进行强度检测:

若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。

(1)若输入“12abcd5!

”,则输出结果为_________(选填,选字母:

A.密码位数不能少于8位,请重新输入!

/B.弱/C.中等/D.强)

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

password=input(“请输入要检测的密码:

”)

①_______________

ifn<8:

print(“密码位数不能少于8位,请重新输入!

”)

else:

n1=0

n2=0

n3=0

foriinrange(0,n,1):

②_______

if“0”<=ch<=“9”:

n1=1

elif“a”<=ch<=“z”or“A”<=ch<=“Z”:

n2=1

else:

n3=1

③_____

ifx==3:

print(“强”)

elifx==2:

print(“中等”)

else:

print(“弱”)

21.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。

编写python程序,实现如下功能:

输入n的值,统计显示n以内的所有双胞胎数。

程序运行界面如图所示:

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

importmath

defisprime(x):

______

foriinrange(2,int(math.sqrt(x))+1):

ifx%i==0:

f=False

returnf

n=int(input("请输入一个正整数n:

"))

c=0

k=3

whilek<=n-2:

ifisprime(k)and______________:

c+=1

print("第"+str(c)+"对双胞胎数:

",k,'和',k+2)

_______

print("共有"+str(c)+"对双胞胎数")

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

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

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

22.某市普通高中选课数据如图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)加框处语句的作用是__________________

23.阅读程序。

分析以下关于字符拼接与转换的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))的输出结果是__________。

24.设计完成算法之后,小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

9else:

10Tot2=8+(S-3.3)*1.35

11Cost-Totl+tot2

12print(Cost)#输出总车费

(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:

____________________________________________________________________________________________。

NameErrorTraceback(mostrecentcalllast)

in

9else:

10

—→11Cost=Tot1+tot2

12

NameError:

name’tot2’isnotdefined

(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。

小C借助于计算机编写程序解决问题的这个过程是:

①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。

(填写序号即可)

(5)总结用计算机解决问题的优势主要有:

_______________________________________________。

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

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

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

⑦B:

①D:

③。

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

__________E:

__________F:

__________G:

__________

图a

图b

图c

图d

26.编写Python程序实现如下功能:

输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。

判断这一天是这一年的第几天。

以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。

特殊情况,当输入的年份是闰年时,2月份有29天。

闰年的判断方式如下:

I、能被4整除,但不能被100整除;

II、能被400整除;

(1)“2020-05-20”这一天是这一年的第_________天。

(2)编写Python代码如下,在划线处填入正确的代码

_________________

_________________

_________________

(3)加框处的代码有误,请改正。

改正:

_________________

mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数

s=input("请输入年月日:

")

'month=int(s[5:

7])

sum=0

foriinrange(②):

sum+=mon[i]

sum+=day

if

:

isleap=True

else:

isleap=False

if③

sum+=1

print("这一天是当年的第"+str(sum)+''天'')

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

运行,检测结果。

#鸡兔同笼

forxinrange(1,23):

y=35-x

if4*x+2*y==94:

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

特别提示:

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

28.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。

编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。

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

(1)参数currency指:

____________。

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

_____________。

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

则代码应该如何编写:

____________。

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

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

 

一、程序填空

1.ori+1

【详解】

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

①分析程序可知,程序采用枚举的算法找出该数,当不满足条件时,i递增继续判断,故i的初始值是0,第一空填0。

②一个数除以3余2,除以5余3,除以7余2,此处是取不满足情况时,i递增,and取反变为or,故第二空填or。

③同理第三空填i+1。

2.[0.0325,0.03,0.03,0.02,0.0175]iinrate:

(没有冒号算错误)money=round(money*(1+i),2)100000

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

当前位置:首页 > IT计算机

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

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