【问题描述】文件file1.txt中存储了多名学生的数学考试成绩,请编程统计各分数段学生人数。考试成绩按以下分段规则:分别是0-59、60-69、70-79、80-89、90-100。
【输入形式】从file1.txt中读取文件,注意注意使用open()函数打开文件时,第一个参数只写出文件名和扩展名(不要写文件路径),比如:f1=open(‘file1.txt’,‘r’)
【输出形式】利用print函数,将统计结果直接输出到屏幕上。
【样例输入】文件file1.txt中数据存储格式如下:
91
27
91
14
22
42
39
15
96
67
【样例输出】
统计结果如下:
90 分- 100 分有: 2 人。
80 分- 89 分有: 2 人。
70 分- 79 分有: 2 人。
60 分- 69 分有: 1 人。
0 分- 59 分有: 0 人。
# 从input()函数输入创建数值列表
score_list = open('file1.txt',"r")
# 定义各个分数段的区间和每个分数段的人数统计变量
interval = ["不及格","60 分- 69 分","70 分- 79 分","80 分- 89 分","90 分- 99 分","100分的"]
count = [0] * 6
# 遍历考试成绩列表,进行统计
for score in score_list:
if int(score) <60:
count[0]+=1
elif int(score) <70:
count[1] += 1
elif int(score) <80:
count[2] += 1
elif int(score) <90:
count[3] += 1
elif int(score) <100:
count[4] += 1
else:
count[5]+=1
# 输出结果
print("统计结果如下:")
for i in range(0, 1):
print(f"{interval[i]}的有: {count[i]} 人。")
for i in range(1, 6):
print(f"{interval[i]}有: {count[i]} 人。")