python生成学生成绩保存文件题目

1). 随机生成100个学生的成绩保存在文件scores.txt文件中;
2). 从文件中读出学生的成绩,输出最高、最低,以及平均成绩(平均成绩为小数)。
3). 从文件中读出学生的成绩,统计90分以上学生的人数并输出。
4). 求出这次考试的平均成绩,并统计各分数段的人数(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)。
5). 将统计结果保存到数据文件statictic.txt中

import random

with open('scores.txt', 'w+') as f:
    for count in range(100):
        li = [random.randint(40, 100) for i in range(100)]
        f.write(str(li[0]) + '\n')

with open('statictic.txt', 'w') as f1, open('scores.txt', 'r') as f2:
    li = f2.readlines()
    # print(li)
    li1 = []
    res = 0
    for i in li:
        i = int(i.strip('\n'))
        # print(i)
        li1.append(i)
        res += i
    # print(res)
    li1.sort()
    # print(li1)
    print('最高成绩为:%s' % (li1[-1]))
    print('最低成绩为:%s' % (li1[0]))
    print('平均成绩为:%s' % (res / 100))
    count = 0
    for i in li1:
        if i > 90:
            count += 1
        else:
            pass
    print('90分以上的人数为:%d' %(count))
    one = 0
    two = 0
    three = 0
    four = 0
    five = 0
    for i in li1:
        if i >= 90:
            one += 1
        elif 90 > i >= 80:
            two += 1
        elif 80 > i >= 70:
            three += 1
        elif 70 > i >= 60:
            four += 1
        else:
            five += 1
    f1.write('优秀人数:%d,良好人数:%d,中等人数:%d,及格人数:%d,不及格人数:%d' % (one, two, three, four, five))

你可能感兴趣的:(python)