python程序设计有10名同学的Python课程成绩分别为:94,89,96,88,92,86,69,95,78,85。利用列表分析成绩,输出原始成绩、排序后的成绩、最高的3个成绩、最低的3个成绩、平均成绩和中位数成绩(把所有的同类数据按照大小的顺序排列,如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;如果数据的个数是偶数,则中间那2个数据的算术平均值就是这群数据的中位数。 输出格式如下图所示。 原始成绩:[94,89,96,88,92,86,69,95,78,85] 排序成绩:[96,95,94,92,89,88,86,85,78,69] 前三名成绩:[96,95,94] 后三名成绩:[69,78,85] 平均成绩:87.2 中位数成绩:88.5
时间: 2023-07-14 12:12:49 浏览: 151
可以使用Python的内置函数和列表方法来完成这个任务。下面是一个可能的实现:
```python
grades = [94, 89, 96, 88, 92, 86, 69, 95, 78, 85]
# 输出原始成绩
print("原始成绩:{}".format(grades))
# 输出排序后的成绩
sorted_grades = sorted(grades, reverse=True)
print("排序成绩:{}".format(sorted_grades))
# 输出最高的3个成绩
top3_grades = sorted_grades[:3]
print("前三名成绩:{}".format(top3_grades))
# 输出最低的3个成绩
bottom3_grades = sorted_grades[-3:]
print("后三名成绩:{}".format(bottom3_grades))
# 输出平均成绩
avg_grade = sum(grades) / len(grades)
print("平均成绩:{:.1f}".format(avg_grade))
# 输出中位数成绩
sorted_grades_len = len(sorted_grades)
if sorted_grades_len % 2 == 0:
mid_index = sorted_grades_len // 2
median_grade = (sorted_grades[mid_index-1] + sorted_grades[mid_index]) / 2
else:
mid_index = (sorted_grades_len - 1) // 2
median_grade = sorted_grades[mid_index]
print("中位数成绩:{:.1f}".format(median_grade))
```
运行以上代码,输出应该如下所示:
```
原始成绩:[94, 89, 96, 88, 92, 86, 69, 95, 78, 85]
排序成绩:[96, 95, 94, 92, 89, 88, 86, 85, 78, 69]
前三名成绩:[96, 95, 94]
后三名成绩:[78, 69, 85]
平均成绩:87.2
中位数成绩:88.5
```
阅读全文