. 编写程序,读入个数不确定(最多10个)的考试分数(可以以输入负数表示输入的结束),输出输入了几个分数,分数的平均分,以及多少个分数是大于平均分。(不用数组,使用集合完成)
时间: 2024-05-13 17:19:47 浏览: 71
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
以下是使用 Python 语言实现的程序:
```python
scores = []
sum_scores = 0
while True:
score = int(input("请输入考试分数:"))
if score < 0:
break
scores.append(score)
sum_scores += score
n = len(scores)
if n == 0:
print("没有输入分数")
else:
avg_score = sum_scores / n
above_avg_count = len([score for score in scores if score > avg_score])
print("输入了", n, "个分数")
print("平均分为", avg_score)
print("有", above_avg_count, "个分数大于平均分")
```
代码解释:
1. 首先定义一个空列表 `scores` 和一个变量 `sum_scores`,用于存储输入的分数和累加分数之和。
2. 使用 `while` 循环读入输入的分数,如果输入的分数小于 0,则退出循环。
3. 将输入的分数添加到列表 `scores` 中,并将其累加到变量 `sum_scores` 中。
4. 计算列表 `scores` 的长度 `n`,如果为 0,则输出提示信息;否则计算平均分 `avg_score` 和大于平均分的分数个数 `above_avg_count`,并输出结果。其中,使用列表解析式 `[score for score in scores if score > avg_score]` 来筛选出大于平均分的分数。
阅读全文