ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:36.77KB ,
资源ID:10707217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10707217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华东师范大学Python习题选编.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华东师范大学Python习题选编.docx

1、华东师范大学Python习题选编Python习题选编 华东师大信息学院计算中心一程序结构与算法部分:1. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。参考代码:x = int(input(Please enter first integer: )y = int(input(Please enter second integer: )if (x = y): print(两数相同!)elif (x y): print(较大数为:,x)else: print(较大数为:,y);2写一个算法(流程图和python程序):输入三个数,输出其最大者。参考代码:a,b,c=3,4,

2、5if a = b: if c b: print (b是最大的数) else: print (c是最大的数)else: if c a: print (a是最大的数) else: print (c是最大的数)3使用Python编程,求1100间所有偶数的和。参考代码:sum=0for x in range(1,101): if x % 2=0: print(x) sum=sum+xprint(累加和是:,sum)4用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。注:凡符合下面两个条件之一的年份是闰年。(1)能被4整除但不能被100整除。(2)能被400整除。参考代码:year

3、 = int(input(Please enter the year: )if (year%4=0 and year%100!=0) or (year%400=0): 加个括号即可 print(year,is a leap year.)else:print(year,is not a leap year.)5用Python编程,假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?参考代码:cunkuan = 10000 #本金10000元years=0while cunkuan 100: grade = 输入错误!elif score = 90: grad

4、e = Aelif score = 80: grade = Belif score = 70: 无需写小于什么什么的 因为elif就已经是除了这个之外的了 grade = Celif score = 60: grade = Delif score = 0: grade = Eelse: grade = 输入错误!print(grade)7猜数游戏。预设一个09之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!”。参考答案:num=7while True: guess=int(input(请输入你猜的

5、数(09):) if guess = num: print(恭喜!你猜中了!) break; elif guess num: print(太大) else: print(太小)8输入一个数,判断这个数是否为素数,并输出判断结果。(所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。下图为参考流程图)参考答案:import mathn=int(input(请输入一个数:)x=int(math.sqrt(n)i,w=2,0for i in range (2,x+1): if n%i=0: w=1if w=1: print(n,不是素数。)else: print(n,是素数。)或impo

6、rt mathn=int(input(请输入一个数:)i,w=2,0while i = int(math.sqrt(n) and w=0: if n%i = 0: w = 1 break else: i = i+1if w=0: print(n,是素数!)else:print(n,不是素数!)或import mathn=int(input(请输入一个数:)i=2while i 0: x=(x+1)*2 day-=1print(total=,x)二文件部分:1. 在当前目录下有一个文件名为temp.txt的文件,存放着上海从2014年3月10日(周一)到3月16日(周日)间一周的最高和最低气温(

7、单位为摄氏度)。其中,第一行为最高气温,第二行为最低气温。编程,找出这一周中第几天最热(按最高气温计算)?最高多少度?这一周中第几天最冷(按最低气温计算)?最冷多少度?参考答案:flname=temp.txtf=open(flname)ht=(f.readline().strip() 暂且先只读一行L1=list(ht.split(,)lt=(f.readline().strip() 此处再读第二行L2=list(lt.split(,)f.close()for i in range(len(L1): L1i=int(L1i) L2i=int(L2i)maxVal=L10 可用max.(L1)m

8、axDay=0minVal=L20minDay=0for i in range(1,len(L1): if L1imaxVal: maxVal=L1i maxDay=i if L2i=10: k+=1 else: k=0 这还要写吗avg=int(sum/len(L3)print(周平均气温为:,avg)if k=5: print(上海这周已入春。)else:print(上海这周未入春。)3当前目录下有一个文件名为score1.txt的文本文件,存放着某班学生的计算机课成绩,共有学号、平时成绩、期末成绩三列。请根据平时成绩占40%,期末成绩占60%的比例计算总评成绩(取整数),并分学号、总评成

9、绩两列写入另一文件score2.txt。同时在屏幕上输出学生总人数,按总评成绩计90以上、8089、7079、6069、60分以下各成绩档的人数和班级总平均分(取整数)。参考答案:f=open(score1.txt)a=f.readline()line=(f.readline().strip()f2=open(score2.txt,w)f2.write(学号 平均成绩n);L2=0,0,0,0,0count=0sum=0while (len(line) != 0): #print(line) L1=line.split() f2.write(L10+ ) f_score=int(int(L11

10、)*0.4+int(L12)*0.6) if 90f_score=80: L21+=1 elif f_score=70: L22+=1 elif f_score=60: L23+=1 else: L24+=1 count+=1 sum+=f_score f2.write(str(f_score)+n) line=(f.readline().strip()f.close()f2.close()avg_score=int(sum/count)print(学生总人数为%d,按总评成绩计,90以上%d人、8089间%d人、7079间%d人、6069间%d人、60分以下%d人。班级总平均分为%d分。%(

11、count,L20,L21,L22,L23,L24,avg_score)或f=open(score1.txt)a=f.readlines()del a0L3=for line in a: line=line.strip() L1=line.split() f_score=int(int(L11)*0.4+int(L12)*0.6) L3.append(L10,f_score)f.close()c=0,0,0,0,0count=0sum=0f2=open(score2.txt,w)f2.write(学号 平均成绩n);for L2 in L3: if 90L21=80: c1+=1 elif L

12、21=70: c2+=1 elif L21=60: c3+=1 else: c4+=1 count+=1 sum+=L21 f2.write(L20+ +str(L21)+n)f2.close()avg_score=int(sum/count)print(学生总人数为%d,按总评成绩计,90以上%d人、8089间%d人、7079间%d人、6069间%d人、60分以下%d人。班级总平均分为%d分。%(count,c0,c1,c2,c3,c4,avg_score)4当前目录下有一个文本文件sample12.txt,其内容包含小写字母和大写字母。请将该文件复制到另一文件sample12_copy.t

13、xt,并将原文件中的小写字母全部转换为大写字母,其余格式均不变。参考答案:f=open(sample12.txt)L1=f.readlines()f2=open(sample12_copy.txt,w)for line in L1: f2.write(line.upper()f.close()f2.close()5当前目录下有一个文件名为class_score.txt的文本文件,存放着某班学生的学号、数学课成绩(第2列)和语文课成绩(第3列)。请编程完成下列要求:(1)分别求这个班数学和语文的平均分(保留1位小数)并输出。(2)找出两门课都不及格(60)的学生,输出他们的学号和各科成绩。(3)

14、找出两门课的平均分在90分以上的学生,输出他们的学号和各科成绩。建议用三个函数分别实现以上要求。参考答案:def output_avg(L): sum1,sum2=0,0 for line in L: L1=line.strip().split() sum1+=int(L11) sum2+=int(L12) count=len(L) avg1=round(sum1/count,1) avg2=round(sum2/count,1) print(这个班的数学平均分为:%4.1f,语文平均分为:%4.1f%(avg1,avg2) def output_notpass(L): print(两门课均不

15、及格的学生学号及数学、语文成绩为:) for line in L: L1=line.strip().split() if int(L11)60 and int(L12)=90: print(line)f=open(class_score.txt)L=f.readlines()del L0output_avg(L)output_notpass(L)output_good(L)三算法分析与设计部分1.编程,从键盘接收若干个整数(直接输入回车表示结束),用冒泡法或选择法进行排序(从小到大),并将排序结果在屏幕上输出。参考答案:选择排序:def bubble(List): num=len(List)

16、for i in range(0,num-1): for j in range(i+1,num): #对应列表中的位置 if ListiListj: Listi,Listj=Listj,Listi return ListL1=num_str=input(请输入一个需排序的整数:)while len(num_str) != 0: L1.append(int(num_str) num_str=input(请输入一个需排序的整数:)print(排序后结果:, bubble(L1)或冒泡排序:def bubble(List): for i in range(0,len(List)-1): for j

17、in range(len(List)-1,i,-1): if Listj-1Listj: Listj-1,Listj=Listj,Listj-1 return ListL1=num_str=input(请输入一个需排序的整数:)while len(num_str) != 0: L1.append(int(num_str) num_str=input(请输入一个需排序的整数:)print(排序后结果:, bubble(L1)2当前目录下有一个文件名为score2.txt的文本文件,存放着某班学生的计算机课成绩,共有学号、总评成绩两列。请查找最高分和最低分的学生,并在屏幕上显示其学号和成绩。参考答

18、案:f=open(score2.txt)a=f.readlines()del a0L2=L3=for line in a: line=line.strip() L1=line.split() L2.append(L10) L3.append(L11)f.close()maxScore=L30maxIndex=0minScore=L30minIndex=0for i in range(1,len(L3): if L3imaxScore: maxScore=L3i maxIndex=i if L3i=a and si=A and si=0 and si=9: digit+=1 else: othe

19、r+=1print(字母数:%dn空格数:%dn数字数:%dn其他字符数:%dn%(letters,space,digit,other)或p=input(请输入一行字符:)a,b,c,d=0,0,0,0for i in p: if(i=A) or (i=a): a+=1 elif (i= ): b+=1 elif(i=0 and i=9): c+=1 else: d+=1print (英文字母的个数为:+str(a)print (空格的个数为:+str(b)print (数字的个数为:+str(c)print (其他字符的个数为:+str(d)或letter,space,digit,other

20、=0,0,0,0s = input(input a string:)for c in s: if c.isalpha(): letter +=1 elif c.isspace(): space +=1 elif c.isdigit(): digit +=1 else: other +=1print(字母数:%dn空格数:%dn数字数:%dn其他字符数:%dn%(letter,space,digit,other)四函数部分:1.写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出结果。参考答案:def shushu(n): import mathi,w=2,0if n=1: w=1

21、 while i = int(math.sqrt(n) and w=0: if n%i = 0: w = 1 break else: i = i+1 return wn=int(input(n=)if shushu(n)=0: print(n,是素数!)else: print(n,不是素数!)2.当前目录下有一个文件名为score3.txt的文本文件,存放着某班学生的学号和其两门专业课的成绩。分别用函数实现以下功能:(1)定义函数function1,计算每个学生的平均分(取整数),并将所有学生的学号和平均分在屏幕上输出。(函数参数为要读取文件的文件名)def function1(flname)

22、: #函数代码function1(c:testscore3.txt)参考答案:def function1(flname): f=open(flname) a=f.readlines() del a0 L3= for line in a: line=line.strip() L1=line.split() avg_score=int(int(L11)+int(L12)/2) L3.append(L10,avg_score) f.close() print(学号 平均分) for L2 in L3: print(L20+ +str(L21)(2)定义函数calAvg(),计算某一门课程的平均分(函数参数为某门课成绩对应的列表名,返回值为该门课的平均分)def calAvg(L): #函数代码f=open(c:testscore3.txt)a=f.readlines()del a0L2=L3=

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

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