收藏 分享(赏)

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

上传人:精品资料 文档编号:10356382 上传时间:2019-11-03 格式:DOC 页数:15 大小:55.42KB
下载 相关 举报
华东师范大学Python习题选编.doc_第1页
第1页 / 共15页
华东师范大学Python习题选编.doc_第2页
第2页 / 共15页
华东师范大学Python习题选编.doc_第3页
第3页 / 共15页
华东师范大学Python习题选编.doc_第4页
第4页 / 共15页
华东师范大学Python习题选编.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、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,5if

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

3、。参考答案:num=7while True:guess=int(input(请输入你猜的数(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=1

4、if w=1:print(n,“不是素数。“)else:print(n,“是素数。“)或import mathn=int(input(请输入一个数: )i,w=2,0while i 0:x=(x+1)*2day-=1print(“total=“,x)二文件部分:1. 在当前目录下有一个文件名为 temp.txt 的文件 ,存放着上海从 2014 年 3月 10 日(周一)到 3 月 16 日(周日)间一周的最高和最低气温(单位为摄氏度) 。其中,第一行为最高气温,第二行为最低气温。编程,找出这一周中第几天最热(按最高气温计算)?最高多少度?这一周中第几天最冷(按最低气温计算)?最冷多少度?参考

5、答案:flname=“temp.txt“f=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)maxDay=0minVal=L20minDay=0for i in range(1,len(L1):if L1imaxVal:maxVal=L1imaxDay=iif L

6、2i=10:k+=1else:k=0 这还要写吗?avg=int(sum/len(L3)print(“周平均气温为:“,avg)if k=5:print(“上海这周已入春。 “)else:print(“上海这周未入春。 “)3 当前目录下有一个文件名为 score1.txt 的文本文件 ,存放着某班学生的计算机课成绩,共有学号、平时成绩、期末成绩三列。请根据平时成绩占 40%,期末成绩占 60%的比例计算总评成绩(取整数) ,并分学号、总评成绩两列写入另一文件 score2.txt。同时在屏幕上输出学生总人数,按总评成绩计 90 以上、8089、7079、6069、60 分以下各成绩档的人数和

7、班级总平均分(取整数)。参考答案: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)*0.4+int(L12)*0.6)if 90=80:L21+=1elif f_score=70:L22+=1elif f_score=

8、60:L23+=1else:L24+=1count+=1sum+=f_scoref2.write(str(f_score)+“n“) ?line=(f.readline().strip()f.close()f2.close()avg_score=int(sum/count)print(“学生总人数为%d,按总评成绩计 ,90 以上%d 人、8089 间%d 人、70 79 间%d 人、60 69 间%d 人、60 分以下%d 人。班级总平均分为%d 分。“%(count,L20,L21,L22,L23,L24,avg_score)或f=open(“score1.txt“)a=f.readlin

9、es()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 90=80:c1+=1elif L21=70:c2+=1elif L21=60:c3+=1else:c4+=1count+=1sum+=L21f2.write(L20+“ “+s

10、tr(L21)+“n“)f2.close()avg_score=int(sum/count)print(“学生总人数为%d,按总评成绩计 ,90 以上%d 人、8089 间%d 人、70 79 间%d 人、60 69 间%d 人、60 分以下%d 人。班级总平均分为%d 分。“%(count,c0,c1,c2,c3,c4,avg_score)4 当前目录下有一个文本文件 sample12.txt,其内容包含小写字母和大写字母。请将该文件复制到另一文件 sample12_copy.txt,并将原文件中的小写字母全部转换为大写字母,其余格式均不变。参考答案:f=open(“sample12.txt

11、“)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)找出两门课都不及格(=90:print(line)f=open(“class_score.txt“)L=f.readlines()del L0output_

12、avg(L)output_notpass(L)output_good(L)三 算法分析与设计部分1. 编程,从键盘接收若干个整数(直接输入回车表示结束) ,用冒泡法或选择法进行排序(从小到大) ,并将排序结果在屏幕上输出。参考答案:选择排序:def bubble(List):num=len(List)for i in range(0,num-1):for j in range(i+1,num): #对应列表中的位置if ListiListj:Listi,Listj=Listj,Listireturn ListL1=num_str=input(请输入一个需排序的整数: )while len(nu

13、m_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 in range(len(List)-1,i,-1):if Listj-1Listj:Listj-1,Listj=Listj,Listj-1return ListL1=num_str=input(请输入一个需排序的整数: )while len(num_str) != 0:L1.append(int(num_

14、str)num_str=input(请输入一个需排序的整数: )print(排序后结果 :, bubble(L1)2当前目录下有一个文件名为 score2.txt 的文本文件,存放着某班学生的计算机课成绩,共有学号、总评成绩两列。请查找最高分和最低分的学生,并在屏幕上显示其学号和成绩。参考答案: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=0

15、minScore=L30minIndex=0for i in range(1,len(L3):if L3imaxScore:maxScore=L3imaxIndex=iif L3i=a and si=A and si=0 and si=A) or (i=a):a+=1elif (i= ):b+=1elif(i=0 and iL1len(L1)-1:L1.append(x)returnfor i in range(0,len(L1):if xL1i:L1.insert(i,x)breakreturnL1=1,4,6,9,13,16,28,40,100x=int(input(请输入一个要插入的整数:)insertList(L1,x)print(L1)

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报