python试题答案程序填空阅读填空程序试题.docx

上传人:b****2 文档编号:17751832 上传时间:2023-08-03 格式:DOCX 页数:34 大小:1.96MB
下载 相关 举报
python试题答案程序填空阅读填空程序试题.docx_第1页
第1页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第2页
第2页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第3页
第3页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第4页
第4页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第5页
第5页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第6页
第6页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第7页
第7页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第8页
第8页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第9页
第9页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第10页
第10页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第11页
第11页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第12页
第12页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第13页
第13页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第14页
第14页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第15页
第15页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第16页
第16页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第17页
第17页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第18页
第18页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第19页
第19页 / 共34页
python试题答案程序填空阅读填空程序试题.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

python试题答案程序填空阅读填空程序试题.docx

《python试题答案程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《python试题答案程序填空阅读填空程序试题.docx(34页珍藏版)》请在冰点文库上搜索。

python试题答案程序填空阅读填空程序试题.docx

python试题答案程序填空阅读填空程序试题

python试题答案程序填空阅读填空程序试题

一、程序填空

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

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

”。

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

i=①________

while(i%3!

=2②________i%5!

=3ori%7!

=2):

i=③________

print(i)

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

实现功能:

绘制y=x2-2x+1的图像

#加载numpy模块并限简洁的别名为np

importnumpyasnp

#加载matplotlib.pyplot模块并限简洁的别名为plt

importmatplotlib.pyplotasplt

#x在-7到9之间,每隔0.1取一个点

x=np.arange(-7,9,0.1)

_____=x**2-2*x+1

plt.plot(x,________)

plt.title('y=x*x-2*x+1')

plt.xlabel('x')

plt.ylabel('y')

plt._________

3.程序补充:

(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,“年后资金被全部取出”)

4.调试程序。

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

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

forfruitinfruites:

print(fruit)

a=len(fruites)

print('a=',a)

_________________

5.编写程序。

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

6.分析完善程序

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

(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

7.约瑟夫问题是个有名的问题:

N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。

例如N=6,被杀掉的顺序是:

1,4,3,0,5;最后只剩下2这个人。

llist=

n=int(input(“请输入参与人数:

”))

foriinrange(0,n-1):

llist.append([i,i+1])

___________

___________

long=n

k=head

i=1

p=2

while(____):

ifi==p-1:

t=llist[k][1]

print(llist[t][0])#索引为t的删除

__________________

ift==head:

___________________

i=1

p+=1

long=long-1

k=llist[k][1]

______________

i+=1

print(llist[head][0])

8.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

请输入以下代码,自己输入数据运行,结果截图提交

9.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。

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

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

提示:

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

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

12.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:

能被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______:

foriinrange(month-1):

tall_day+=f_run[i]

__________

else:

foriinrange(month-1):

tall_day+=f_run[i]

tall_day+=sun

print(day+"是当年的第"+str(tall_day)+"天")

(1)将程序横线处补充完整

(2)如输入“2020-4-19”为当年的第_____天。

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

14.冠军在A、B、C、D四位同学中。

A说:

“不是我”,B说:

“是C”,C说:

“是D”,D说:

“C说的不对”,已知四人中有一人说了假话。

判断出到底谁是冠军。

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

champion=['A','B','C','D']#设置选手列表

foriin__________:

#循环读取选手编号

cond=(i!

='A')+(i=='C')+(i=='D')+(i!

='D')#查找符合条件的选手

ifcond==_____:

#说真话是否是3人

print("冠军是:

",_________)#输出冠军

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

15.程序设计:

在舞会上,男生、女生各自排成一队。

舞会开始时,依次从男队和女队的队头各出一人配成舞伴。

跳完后的两人重新回到队尾。

例如:

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']

foriinrange(12):

x,y=①#出队

print(“Turn{:

2}):

({},{})".format(i+1,x,y))

boy.append(②)#再进队

girl.append(③)#再进队

(1)程序代码中①处正确的代码是(_______)。

A.boy.pop(l).girl.pop(l)B.girl.pop(l),boy.pop(l)

C.boy.pop(0),girl.pop(0)D.girl.pop(0),boy.pop(0)

(2)程序代码中②处正确的代码是(_______)。

A.xB.yC.iD.i+1

(3)程序代码中③处正确的代码是(_______)。

A.xB.yC.iD.i+1

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

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

17.完善程序实现如下功能并保存:

有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。

编写程序,计算出第5个人的年龄并显示。

defage(n):

ifn==1:

c=________

else:

c=age(n-1)-3

return________

print("第5人的年龄:

",age(________))

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

18.完善代码并保存。

实现功能:

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

cj=[]

foriinrange(0,________):

x=float(input("请输入一个数"))

cj.append(________)

print(max(cj),min(________))

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

19.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。

list1=["玻璃瓶","旧书","金属","纸板箱","旧衣服","易拉罐"]

list2=["胶片","消毒水","纽扣电池","水银温度计","过期药水","泡沫塑料"]

list3=["动物内脏","菜叶菜梗","过期食品","香蕉皮","果壳"]

根据现有列表,完成以下问题:

(1)写出从列表list3中取出“过期食品”的表达式:

___________________________________________________________________________

(2)写出从list1中截取["旧书","金属","纸板箱"]这一段的表达式:

___________________________________________________________________________

(3)现又发现一个新的列表如下:

list4=["过期化妆品","过期药品","杀虫剂"],经过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:

__________________________________________________________________________

(4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:

__________________________________________________________________________

20.有如下程序段:

sum=0

foriinrange(1,20,3):

sum+=i

print(“sum=”,sum)

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

_________,终值为:

_________,步长为:

__________。

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

____________________。

21.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。

请完善程序。

程序如下:

importmath

defIsPrime(i):

ifi==1:

returnFalse

forjinrange(2,int(math.sqrt(i))+1):

if____:

returnFalse

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)

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

23.某种数据加密方法描述如下(加密前数据是ASCII字符):

●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。

●数据加密规则:

数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。

位置变换:

用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:

加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。

数值变换:

位置变换后,依次取出各个字符进行数值变换:

把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。

异或运算(⊕)规则:

如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即:

0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。

●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是

数组c

3

6

1

5

2

8

4

7

则数据位置变换如下:

如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:

变换前

0

1

1

1

0

1

0

0

密钥m

0

0

1

0

0

0

1

1

变换后

0

1

0

1

0

1

1

1

(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。

(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。

Constn=1024

Dimc(1To8)AsInteger

PrivateSubForm_Load()

‘产生位置变换密钥数组c,代码略

EndSub

Functionconvert(cAsInteger)AsString

‘程序功能:

把整数c转成8位二进制数,代码略

EndFunction

PrivateSubCommand1_Click()

DimsAsString,stAsString,ssAsString,resAsString

DimiAsInteger,jAsIntegerstartAsInteger

Dima(1Ton)AsString,b(1Ton)AsString

s=Text1.Text

st=convert(Val(Text2.Text))

Fori=1ToLen(s)

a(i)=Mid(s,i,1)

Nexti

i=1:

start=-8

DoWhile①________

IfiMod8=1Thenstart=start+8

b(i)=②_______

i=i+1

Loop

Forj=iToLen(s)

b(j)=a(j)

Nextj

Fori=1ToLen(s)

③________

Forj=1To8

IfMid(ss,j,1)=Mid(st,j,1)Then

res=res+"0"Elseres=res+"1"

'按位异或

Nextj

Nexti

Text3.Text=res

EndSub

24.模拟一个简单计算器,实现如下功能:

输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。

程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。

当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。

当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!

”。

Python程序实现如下,在划线处填入合适的代码。

a=int(input("请输入第一个数:

"))

fh=input("请输入运算符:

")

b=int(input("请输入第二个数:

"))

flag=True

s=____

iffhins:

iffh=="+":

c=a+b

eliffh=="-":

c=a-b

eliffh=="*":

c=a*b

else:

if____

print("除数不能为0!

")

flag=False

else:

c=a/b

ifflag==True:

print("运算的结果为:

"+____)

else:

print("运算符不正确")

25.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。

以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。

defgs(n):

#字符串长度统一

iflen(n)>=5:

n=_____#取字符串的前5个字符

else:

n=n+""*(5-len(n))

returnn

r=1000;x=100;y=15;z=0.8#从系统中分别获取消费额度、满和减以及打折的数值

dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"]#某顾客所点菜品名称

num=[1,1,1,1,3]#某顾客所点菜品数量

mon=[46,45,68,16,1]#某顾客所点菜品单价

print("菜品名称","数量","小计")

_____

foriinrange(len(dis)):

print(gs(dis[i]),num[i],"",num[i]*mon[i])

s=s+num[i]*mon[i]

ifs>=r:

total=s*z

else:

______

print("消费合计:

",s)

print("应收现金:

",total)

26.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?

请帮小金完成代码编程.

defconvert(s):

m=0

le=len(s)

key=s[le-1]

ifkey=="B":

n=2

elifkey=="D":

_______

else:

n=16

i=0

whilei<=le-2:

c=s[le-1-i]

ifc>="0"andc<="9":

a=ord(c)-ord("0")

elifc>="A"andc<="F":

a=ord(c)-ord("A")+10

_____________

i+=1

returnm

s=input("请输入算式")

result=0;suanfu1="";suanfu2="";s1=""

foriinrange(len(s)):

c=s[i]

ifc=="+"orc=="-"orc=="=":

__________

suanfu1=suanfu2

suanfu2=c

ifsuanfu1=="":

result=t

ifsuanfu1=="+":

result=result+t

ifsuanfu1=="-":

result=result-t

s1=""

else:

s1=s1+c

print("计算结果为"+str(result)+"D")

(1)将程序横线处补充完整

(2)如输入“1110B+10D-30H=”则输出结果为___________。

27.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。

使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2

图1

图2

实现上述功能的Python程序如下:

importpandasaspd

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2