python输⼊学⽣成绩若成绩在90、流程图_Python习题选编《Python习题选编》由会员分享,可在线阅读,更多相关《Python习题选编(20页珍藏版)》请在⼈⼈⽂库⽹上搜索。
1、Python习题选编华东师⼤信息学院计算中⼼⼀程序结构与算法部分1. 编写⼀个python程序,输⼊两个数,⽐较它们的⼤⼩并输出其中较⼤者。参考代码x intPlease enter first integer y intPlease enter second integer if x y print两数相同elif x y print较⼤数为,xelse print较⼤数为,y;2. 写⼀个算法(流程图和python程序)输⼊三个数,输出其最⼤者。参考代码a,b,c3,4,5if a b if c b print b是最⼤的数else print c是最⼤的数else if c 。
writeline和write的区别python2、a print a是最⼤的数 else print c是最⼤的数3. 使⽤Python编程,求1100间所有偶数的和。参考代码sum0for x in range1,101 if x 20 printx sumsumxprint累加和是,sum4. ⽤Python编写程序,输⼊⼀年份,判断该年份是否是闰年并输出结果。注凡符合下⾯两个条件之⼀的年份是闰年。(1) 能被4整除但不能被100整除。(2) 能被400整除。参考代码year intPlease enter the year if year40 and year1000 or year4000 printyear,is a leap 。
3、year.else printyear,is not a leap year.5. ⽤Python编程,假设⼀年期定期利率为3.25,计算⼀下需要过多少年,⼀万元的⼀年定期存款连本带息能翻番参考代码cunkuan 10000 本⾦10000元years0while cunkuan20000 years1
cunkuancunkuan*10.0325printstryears年以后,存款会翻番6. 从键盘接收⼀百分制成绩(0100),要求输出其对应的成绩等级AE。其中,90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。参考答案scoreint请输⼊成绩(0100)。
4、if score 100 grade 输⼊错误elif score 90 grade Aelif score 80 grade Belif score 70 grade Celif score 60 grade Delif score 0 grade Eelse grade 输⼊错误printgrade7. 猜数游戏。预设⼀个09之间的整数,让⽤户猜⼀猜并输⼊所猜的数,如果⼤于预设的数,显⽰“太⼤”;⼩于预设的数,显⽰“太⼩”,如此循环,直⾄猜中该数,显⽰“恭喜你猜中了”。参考答案num7while True guessint请输⼊你猜的数(09) if guess n。
5、um print恭喜你猜中了 break; elif guess num print太⼤ else print太⼩8. 输⼊⼀个数,判断这个数是否为素数,并输出判断结果。(所谓素数,是指除了1和该数本⾝之外,不能被其它任何整数整除的数。下图为参考流程图)参考答案import mathnint请输⼊⼀个数xintmath.sqrtni,w2,0for i in range 2,x1 if ni0 w1if w1 printn,不是素数。else printn,是素数。或import mathnint请输⼊⼀个数
i,w2,0while i intmath.sqrtn and w0 if ni 0。
6、 w 1 break else i i1if w0 printn,是素数elseprintn,不是素数或import mathnint请输⼊⼀个数i2while i intmath.sqrtn if ni 0 printn,不是素数 break else ii1else printn,是素数9. 输⼊⼀个时间(⼩
时分钟秒),输出该时间经过5分30秒后的时间。参考答案
hour,minute,second请输⼊⼀个时间(hms).splithourinthourminuteintminutesecondintsecondsecond30if second 60 second secon。
7、d-60 minute 1minute5if minute 60 minute minute-60 hour 1if hour 24 hour 0printdddhour,minute,second10. ⼀个数如果恰好等于它的因⼦之和,这个数就称为“完数”。例如,6的因⼦为1、2、3,⽽6123,因此6是完数。编程,出1000之内的所有完数,并输出该完数及对应的因⼦。(枚举法)参考答案m1000for a in range2,m1 sa L1 for i in range1,a if ai0 s-i L1.appendi if s0 print完数d,因⼦包括a,end for 。
8、j in range1,lenL1 printdL1j,end, printn11编程,解决猴⼦吃桃问题。猴⼦第⼀天摘下若⼲个桃⼦,当即吃了⼀半,还不过瘾,⼜多吃了⼀个。第⼆天早上⼜将剩下的桃⼦吃掉⼀半,⼜多吃了⼀个。以后每天早上都吃了前⼀天剩下的⼀半零⼀个。到第10天早上想吃时,只剩下⼀个桃⼦了。求第⼀天共摘多少个桃⼦。(迭代法)参考答案day9x1while day0 xx1*2 day-1printtotal,x⼆输⼊输出与⽂件部分1. 编写⼀个python程序,输⼊两个数,输出两数之和。参考代码x intPlease enter first integer y intPlease 。
9、enter second integer printThe sum is;printxy;2.在当前⽬录下有⼀个⽂件名为的⽂件,存
放着上海从2014年3⽉10⽇(周⼀)到3⽉16⽇(周⽇)间⼀周的最⾼和最低⽓温(单位为摄⽒度)。其中,第⼀⾏为最⾼⽓温,第⼆⾏为最低⽓温。编程,出这⼀周中第⼏天最热(按最⾼⽓温计算)最⾼多少度这⼀周中第⼏天最冷(按最低⽓温计算)最冷多少度参考答案
10、i in rangelenL1 L1iintL1i L2iintL2imaxValL10maxDay0minValL20minDay0for i in range1,lenL1 if L1imaxVal maxValL1i maxDayi if L2iminVal minValL2i minDayiprint这周第strmaxDay1天最热,最⾼strmaxVal摄⽒度print这周第strminDay1天最冷,最低strminVal摄⽒度3在上题的基础上,求出全周的平均⽓温(这⼀周各天平均温度的平均值,取整数)。假设在⽓象意义上,⼊春标准是连续5天⽇均⽓温超过10,根据这⼀周的⽓象数据是否能。
11、判断上海已经⼊春参考答案
L2iintL2i L3.appendintL1iL2i/2sum0k0for i in rangelenL3 sumsumL3i if L3i10 k1 else k0avgintsum/lenL3print周平均⽓温为,avgif k5 print上海这周已⼊春。elseprint上海这周未⼊春。4当前⽬录下有。
12、⼀个⽂件名为的⽂本⽂件,存放着某班学⽣的计算机课成绩,共有学号、平时成绩、期末成绩三列。请根据平时成绩占40,期末成绩占60的⽐例计算总评成绩(取整数),并分学号、总评成绩两列写⼊另⼀⽂件。同时在屏幕上输出学⽣总⼈数,按总评成绩计90以上、8089、7079、6069、60分以下各成绩档的⼈数和班级总平均分(取整数)。参考答案
<,wf2.write学号 平均成绩n;L20,0,0,0,0count0sum0while lenline 。
13、 0 printline L1line.split f2.writeL10 f_scoreintintL11*0.4intL12*0.6 if 90f_score100 L201 elif f_score80 L211 elif
f_score70 L221 elif f_score60 L231 else L241 count1 sumf_score f2.writestrf_scoren
14、69间d⼈、60分以下d⼈。班级总平均分为d分。count,L20,L21,L22,L23,L24,avg_score或adlinesdel
a0L3for line in a lineline.strip L1line.split f_scoreintintL11*0.4intL12*0.6
L3.appendL10,f_scoref.closec0,0,0,,wf2.write学号 平均成绩n;for L2 in L3 if 90L21100 c01 elif L2180 c11 elif L。
15、2170 c21 elif L2160 c31 else c41 count1 sumL21 f2.writeL20 strL21nf2.closeavg_scoreintsum/countprint学⽣总⼈数为d,按总评成绩计,90以上d⼈、8089间d⼈、7079间d⼈、6069间d⼈、60分以下d⼈。班级总平均分为d分。
count,c0,c1,c2,c3,c4,avg_score5当前⽬录下有⼀个⽂本⽂件,其内容包含⼩写字母和⼤写字母。请将该⽂件复制到另⼀⽂件,并将原⽂件中的⼩写字母全部转换为⼤写字母,其余格式均不变。参考答案fo。
16、,wfor line in L1 f2.writeline.upperf.closef2.close6当前⽬录下有⼀个⽂件名为的⽂本⽂件,存放着某班学⽣的学号、数学课成绩(第2列)和语⽂课成绩(第3列)。请编程完成下列要求(1)分别求这个班数学和语⽂的平均分(保留1位⼩数)并输出。(2)出两门课都不及格(60)的学⽣,输出他们的学号和各科成绩。(3)出两门课的平均分在90分以上的学⽣,输出他们的学号和各科成绩。建议⽤三个函数分别实现以上要求。参考答案def o。
17、utput_avgL sum1,sum20,0 for line in L L1line.strip.split sum1intL11 sum2intL12 countlenL avg1r
oundsum1/count,1 avg2roundsum2/count,1 print这个班的数学平均分为4.1f,语⽂平均分为4.1favg1,avg2 def output_notpassL print两门课均不及格的学⽣学号及数学、语⽂成绩为 for line in L L1line.strip.split if intL1160 and intL1260 printline def output_g。
18、oodL print两门课平均分在90分以上的学⽣学号及数学、语⽂成绩为 for line in L L1line.strip.split
f_scoreroundintL11intL12/2 if f_score90 Lf.readlinesdel
L0output_avgLoutput_notpassLoutput_goodL三 算法分析与设计部分1. 编程,从键盘接收若⼲个整数(直接输⼊回车表⽰结束),⽤冒泡法或选择法进⾏排序(从⼩到⼤),并将排序结果在屏幕上输出。同时估计算法的复杂度。参考答案选择排序def bubbleList。
19、 numlenList for i in range0,num-1 for j in rangei1,num if ListiListj Listi,ListjListj,Listi return ListL1num_str请输⼊⼀个需排序的整数while lennum_str 0 L1.appendintnum_str num_str请输⼊⼀个需排序的整数print排序后结果, bubbleL1或冒泡排序def bubbleList for i in range0,lenList-1 for j in rangelenList-1,i,-1 if Listj-1Listj Listj-1,。
20、ListjListj,Listj-1 return ListL1num_str请输⼊⼀个需排序的整数while lennum_str 0 L1.appendintnum_str num_str请输⼊⼀个需排序的整数print排序后结果, bubbleL1上述两个程序算法
的时间复杂度均为On2.2从键盘接收⼀个正整数n,输出对应斐波那契(Fibonacci)数列的前n项(计算数列中某项的值请⽤递归函数实现)。另外,请指出所⽤算法的复杂度。有能⼒的同学还可进⼀步改进算法的效率。参考答案def fibn if n0 or n1 return n else return fibn-1 fibn-2。
21、nintnfor i in rangen1printfibi,end 算法时间复杂度为On*2n.可改进为def fibn,List a,b0,1 List.appenda while bn List.appendb a,b b,abnintnL1fibn,L1printL1算法的时间复杂性为On3当前⽬录下有⼀个⽂件名为的⽂本⽂件,存放着某班学⽣的计算机课成绩,共有学号、总评成绩两列。请查最⾼分和最低分的学⽣,并在屏幕上显⽰其学号和成绩。另外,请指出所⽤算法的复杂度。参考答案adlinesdel a0L2L3for line i。
22、n a lineline.strip L1line.split L2.appendL10 L3.appendL11f.closemaxScoreL30maxIndex0minScoreL30minIndex0for i
in range1,lenL3 if L3imaxScore maxScoreL3i maxIndexi if L3iminScore minScoreL3i minIndexiprint最⾼分为strmaxScore 分,该学⽣学号为strL2maxIndexprint最低分为strminScore分,该学⽣学号为strL2minIndex时间复杂度为On.四 数据结构部分1.。
23、 编程,输⼊⼀⾏字符,分别统计出其中英⽂字母、空格、数字和其他字符的个数。参考答案letters,space,digit,other0,0,0,0s请输⼊⼀⾏字符for i in rangelens if sia and siz or siA and siZ letters1
elif si space1 elif si0 and si9 digit1 else other1print字母数dn空格数dn数字数dn其他字符数dnletters,space,digit,other或p请输⼊⼀⾏字符a,b,c,d0,0,0,0for i in p ifiZ and iA or iz and ia。
24、 a1 elif i b1 elifi0 and i9 c1 else d1print 英⽂字母的个数为straprint 空格的个数为strbprint 数字的个数为strcprint 其他字符的个数为strd或letter,space,digit,other0,0,0,0s a stringfor c in s if c.isalpha letter 1 elif c.isspace space 1 elif c.isdigit digit 1
else other 1print字母数dn空格数dn数字数dn其他字符数dnletter,space,digit,other2⼩王希望⽤电。
25、脑记录他每天掌握的英⽂单词。请设计程序和相应的数据结构,使⼩王能记录新学的英⽂单词和其中⽂翻译,并能很⽅便地根据英⽂来查中⽂。(参考数据结构建议⽤集合。集合添加dickeyvalue 判断key是否在集合中if key in dic。参考答案def add_dicdic while True word请输⼊英⽂单词(直接按回车结束) if lenword0 break; meaning请输⼊中⽂翻译 dicwordmeaning print该单词已添加到字典库。 returndef search_dicdic while True word请输⼊要查询的英⽂单词(直接按回车结束) if le。
26、nword0 break; if word in dic prints的中⽂翻译是sword,dicword else print字典库中未到这个单词 returnworddicdictwhile True print请选择功能n1输⼊n2查n3退出 c if c1 add_dicworddic elif c2 search_dicworddic elif c3 break else print输⼊有误五异常处理部分1以下是两数相加的程序x intxy intyprintxy,xy;该程序要求接收两个整数,并输出相加结果。但如果输⼊的不是整数(如字母、浮点
数等),程序就会终⽌执⾏并输出。
27、异常信息。请对程序进⾏修改,要求输⼊⾮整数时,给出“输⼊内容必须为整数”的提⽰,并提⽰⽤户重新输⼊,直⾄输⼊正确。参考答案while True try x intx except ValueError print输⼊内容必须为整数 else breakwhile True try y inty except ValueError print 输⼊内容必须为整数 else breakprintxy,xy2编程,请输⼊⼀个⽂件路径名或⽂件名,查看该⽂件是否存在,如存在,打开⽂件并在屏幕上输出该⽂件内容;如不存在,显⽰“输⼊的⽂件未到”并要求重新输⼊;如⽂件存在但在读⽂件过程中发⽣异常,则显⽰“。
28、⽂件⽆法正常读出”并要求重新输⼊。(提⽰请使⽤异常处理。“⽂件未到”对应的异常名为FileNotFoundError,其他异常直接⽤except匹配)参考答案while True try filename请输⼊⽂件路径名或⽂件名 fopenfilename.ad except FileNotFoundError print输⼊的⽂件未到 except print⽂件⽆法正常读出 else breakf.close五 函数部分1. 写⼀判素数的函数,在主函数中输⼊⼀个整数,调⽤该函数进⾏判断并输出结果。参考答案def shushun import mathi,w。
29、2,0if n1w1 while i intmath.sqrtn and w0 if ni 0 w 1 break else i i1 return wnintnif shushun0 printn,是素数else printn,不是素数2. 当前⽬录下有⼀个⽂件名为的⽂本⽂件,存放着某班学⽣的学号和其两门专业课的成绩。分别⽤函数实现以下功能(1)定义函数function1,计算每个学⽣
的平均分(取整数),并将所有学⽣的学号和平均分在屏幕上输出。(函数参数为要读取⽂件的⽂件名)def function1flname函数代码function1ctestscore3.t。
30、xt参考答案def function1flname adlines del a0 L3 for line in a lineline.strip L1line.split
avg_scoreintintL11intL12/2 L3.appendL10,avg_score f.close print学号 平均分 for L2 in L3 printL20 strL21(2) 定义函数calAvg,计算某⼀门课程的平均分(函数参数为某门课成绩对应的列表名,返回值为该门课的平均分)def calAvgL 函数代码ad。
31、linesdel a0L2L3for line in a lineline.strip L1line.split L2.appendintL11 L3.appendintL12f.closeprint专业课1的总平均分为,calAvgL2print专业课2的总平均分为,calAvgL3参考答案def calAvgL sum,count0,0 for score in L sumscore count1
avg_scoreintsum/count return avg_score3. ⽤函数或函数的递归实现求n的算法。(主程序已给出)。同时估计程序的复杂度。def factn 函数代码nintC。
32、alculate n Enter nprintn,,factn参考答案def factn value1 for count in range1,n1 value*countreturn value或def factn if n1 value1 else valuen*factn-1 return value程序复杂度为On.4分别编写求两个整数
的最⼤公约数的函数hcf和求最⼩公倍数的函数lcd。主函数已给出,其从键盘接收两个整数,调⽤这两个函数后输出结果。(提⽰求最⼤公约数可⽤辗转相除法。即将⼤数作为被除数,⼩数作为除数,若⼆者余数不为0,则将⼩数作为被除数,余数作为除数,直到余数为0。求最⼩。
33、公倍数则⽤两数的积除以最⼤公约数即可。)参考答案def hcfu,v if vu u,vv,u ruv while r0 uv vr ruv return vdef lcdu,v,h return u*v/huint请输⼊第⼀个整数vint请输⼊第⼆个整数hhcfu,vprintd和d的最⼤公约数为du,v,hllcdu,v,hprintd和d的最⼩公倍数为du,v,l5编程,统计列表中各数据的⽅差和标准差。主函数已给出,请编写计算⽅差的函数var。(提⽰⽅差的计算公式为 Xi2/n-Xi/n2 ,其中,n为列表中元素个数,Xi为列表中的第i项。标准差则为⽅差的算术平⽅根。)参考答案impor。
34、t mathdef varL1 s,psum0,0 for i in rangelenL1 vL1i sv psumv*v ss/lenL1 msepsum/lenL1-s*s return
mseL15,3,7,8,14,9,12,6dxvarL1print⽅差为.2fdxmsemath.sqrtdxprint标准差为.2fmse6主程序中已有⼀个排好序的列表,请编写函数insertList,将从键盘接收的整数按原来从⼩到⼤的排序规律插⼊到该列表中。def insertListL1,x函数代码
L11,4,6,9,13,16,28,40,100 xint请输⼊⼀个要插⼊的整数insertListL1,xprintL1参考答案def insertListL1,x if xL1lenL1-1
L1.appendx return for i in range0,lenL1 if xL1i L1.inserti,x break returnL11,4,6,9,13,16,28,40,100 xint请输⼊⼀个要插⼊的整数insertListL1,xprintL1请浏览后下载,资料供参考,期待您的好评与关注。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。