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))