输入假设干学生一门功课的成绩,统计各分数段的人数。凡不及格〔60分以下〕都由一个计数器来统计,其它以10分作为一个数段,100分作为一个分数段
时间: 2024-03-20 10:39:48 浏览: 49
好的,这是一个统计问题,需要编写一个程序来实现。以下是一个 Python 代码示例:
```python
scores = [] # 用来存储学生成绩的列表
counter = 0 # 用来统计不及格学生数量的计数器
score_count = [0] * 11 # 用来存储各个分数段的学生数量的列表
while True:
score = input("请输入一位学生的成绩(输入 q 结束):")
if score == "q":
break
score = int(score)
scores.append(score)
if score < 60:
counter += 1
else:
index = score // 10 - 5
if index >= 0 and index <= 10:
score_count[index] += 1
print("不及格学生数量:", counter)
print("各分数段学生数量:")
for i in range(11):
if i == 0:
print("0-59分:", score_count[i])
elif i == 10:
print("100分:", score_count[i])
else:
print("{}-{}分:".format(i * 10, i * 10 + 9), score_count[i])
```
在这个程序中,我们首先定义了一个空列表 `scores`,用来存储学生成绩。然后定义了一个计数器 `counter`,用来统计不及格学生数量。还定义了一个长度为 11 的列表 `score_count`,用来存储各个分数段的学生数量。其中,`score_count` 中每个元素的下标表示分数段的编号,例如 `score_count[0]` 表示 0-59 分这个分数段,`score_count[1]` 表示 60-69 分这个分数段,以此类推。
接下来进入一个循环,每次循环从用户输入中读取一位学生的成绩,并将成绩添加到 `scores` 列表中。如果成绩小于 60 分,就将 `counter` 计数器加 1。否则,计算该成绩所属的分数段的编号,并将相应的 `score_count` 列表元素加 1。
最后,我们输出不及格学生数量和各个分数段的学生数量,格式化输出分数段的范围和学生数量。
阅读全文