现有某班级Python考试成绩,请你帮老师做一下成绩统计,找出最高分、最低分,算出平均分,统计出不及格人数。 输入格式: 输入在第一行给出班级人数n,第二行为n个学生的成绩(0~100之间的整数),中间用空格分隔。 输出格式: 输出共四行,分别为最高分、最低分、平均分和不及格人数,其中平均分保留1位小数。 输入样例: 10 80 95 75 85 90 55 66 88 100 58 输出样例: Max: 100 Min: 55 Ave: 79.2 Fail: 2
时间: 2024-03-20 20:39:50 浏览: 26
可以使用以下代码来实现成绩统计:
```python
n = int(input()) # 班级人数
grades = list(map(int, input().split())) # 学生成绩列表
# 最高分
max_grade = max(grades)
# 最低分
min_grade = min(grades)
# 平均分
average_grade = round(sum(grades) / n, 1)
# 不及格人数
failed_count = 0
for grade in grades:
if grade < 60:
failed_count += 1
# 输出结果
print("Max:", max_grade)
print("Min:", min_grade)
print("Ave:", average_grade)
print("Fail:", failed_count)
```
输入样例:
```
10
80 95 75 85 90 55 66 88 100 58
```
输出样例:
```
Max: 100
Min: 55
Ave: 79.2
Fail: 2
```
其中,首先读入班级人数 `n`,然后读入学生成绩列表 `grades`。使用 `max` 函数求最高分,使用 `min` 函数求最低分,使用 `sum` 函数求成绩总和,再除以班级人数求平均分。使用循环遍历成绩列表 `grades`,统计不及格人数。最后输出结果。注意要保留平均分的小数位,可以使用 `round` 函数实现。
相关问题
现有某班级Python考试成绩,请你帮老师做一下成绩统计,找出最高分、最低分,算出平均分,统计出不及格人数。
假设这个班级的Python考试成绩存储在一个列表中,可以使用以下代码进行统计:
```python
scores = [80, 65, 40, 70, 90, 55, 30, 75, 50, 85]
# 最高分
max_score = max(scores)
print("最高分为:", max_score)
# 最低分
min_score = min(scores)
print("最低分为:", min_score)
# 平均分
avg_score = sum(scores) / len(scores)
print("平均分为:", avg_score)
# 不及格人数
fail_count = len([score for score in scores if score < 60])
print("不及格人数为:", fail_count)
```
输出结果为:
```
最高分为: 90
最低分为: 30
平均分为: 63.0
不及格人数为: 4
```
python实现在某次考试后录入某班学生的成绩不同班级学生人数不固定最后统计该班平均分最高分和最低分
好的,我来为您解答。您可以按照以下步骤实现:
1. 定义一个空的字典,用于存放每个班级的成绩信息。键为班级名称,值为该班级的成绩列表。
2. 通过循环录入每个学生的成绩,根据学生所在的班级将其成绩添加到相应的班级成绩列表中。
3. 循环遍历每个班级的成绩列表,计算平均分、最高分和最低分。
4. 输出每个班级的平均分、最高分和最低分,以及该班级的名称。
下面是具体的代码实现:
```python
# 定义一个空字典,用于存放每个班级的成绩信息
scores = {}
# 循环录入每个学生的成绩
while True:
name = input("请输入学生姓名(输入 q 结束):")
if name == 'q':
break
score = int(input("请输入学生成绩:"))
cls = input("请输入学生班级:")
# 如果该班级还不存在,则添加一个空列表
if cls not in scores:
scores[cls] = []
# 将学生的成绩添加到相应的班级成绩列表中
scores[cls].append(score)
# 循环遍历每个班级的成绩列表,计算平均分、最高分和最低分
for cls, cls_scores in scores.items():
avg_score = sum(cls_scores) / len(cls_scores)
max_score = max(cls_scores)
min_score = min(cls_scores)
# 输出每个班级的平均分、最高分和最低分,以及该班级的名称
print(f"班级:{cls},平均分:{avg_score:.2f},最高分:{max_score},最低分:{min_score}")
```
希望能够对您有所帮助!