python文件作业

"""
1. 读入一个Python程序,将其单行的注释(即 每一行“#”后面的内容)删除后保存;
"""
def delet_python(filename1,filename2):
    with open(filename1,'r') as f1,open(filename2,'w+') as f2:
        for i in f1:
            a=0
            for t in i:
                if t =='#':
                    a+=1
            if a==0:
                f2.write(i)
            else:
                li=i.split('#')
                f2.write(li[0]+'\n')
delet_python('作业2.py','作业3.py')

在这里插入图片描述
在这里插入图片描述

"""
2. 随机生成100个学生的成绩保存在文件scores.txt文件中;
	2). 从文件中读出学生的成绩,输出最高、最低,以及平均成绩(平均成绩为小数)。
	3). 从文件中读出学生的成绩,统计90分以上学生的人数并输出。
	4). 求出这次考试的平均成绩,并统计各分数段的人数(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)。
 	5). 将统计结果保存到数据文件statictic.txt中
"""
import random
#1.生成文件
def score_stu(filename):
    with open (filename,'a+') as f:
        for i in range(100):
            f.write(str(random.randint(1,100))+'\n')

#2.从文件中读出学生的成绩,输出最高、最低,以及平均成绩(平均成绩为小数)。
def math_score(filename):
    with open (filename,'r+') as f:
        li = [int(i) for i in f.readlines()]
        max_score=max(li)
        min_score =min(li)
        avg_score=sum(li)/len(li)
        return max_score,min_score,avg_score
#3). 从文件中读出学生的成绩,统计90分以上学生的人数并输出。
def read_score(filename):
    with open (filename) as f:
        count=0
        li = [int(i) for i in f.readlines()]
        li1=[]
        for i in li:
            if i >=90:
                count+=1
                li1.append(i)
        return count,li1
#4). 求出这次考试的平均成绩,并统计各分数段的人数(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)。
def dict_scores(filename):
    scores_dict={}
    with open (filename) as f:
        li = [int(i) for i in f.readlines()]
        count1=count2=count3=count4=count5=0
        for i in li:
            if i >=90:
                count1+=1
            elif 80<=i<90:
                count2+=1
            elif 70<=i<80:
                count3+=1
            elif 60<=i<70:
                count4+=1
            else:
                count5+=1
        scores_dict['优秀']=count1
        scores_dict['良好']=count2
        scores_dict['中等']=count3
        scores_dict['及格']=count4
        scores_dict['不及格']=count5
    return scores_dict
 # 5). 将统计结果保存到数据文件statictic.txt中
def save_scores(filename1,filename2):
    with open(filename2,'w+') as f2:
        f2.write(str(score_stu(filename1)) +'\n')
        f2.write(str(math_score(filename1)) +'\n')
        f2.write(str(read_score(filename1)) +'\n')
        f2.write(str(dict_scores(filename1)) +'\n')
        f2.seek(0,0)
        print(f2.read())
save_scores('scores.txt','statictic.txt')

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GLH_2236504154/article/details/85110010