python求平均成绩、最高成绩以及最高成绩的人数_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求平均成绩,最高成绩以及最高成绩的人数)