python1. 动态输入10个成绩,分别统计这组数据的平均值、标准差、中 位数、及格率;
时间: 2024-10-25 08:10:03 浏览: 20
python大作业 含爬虫、数据可视化、地图、报告、及源码(整和为一个文件)(2014-2020全国各地区原油加工量).rar
5星 · 资源好评率100%
在Python中,你可以使用`numpy`库来进行数值计算,包括平均值、标准差和中位数,以及`collections`库来计算及格率。这里是一个简单的示例程序:
```python
import numpy as np
from collections import Counter
# 动态获取用户输入的成绩
scores = []
for i in range(10):
score = float(input(f"请输入第{i+1}个成绩: "))
scores.append(score)
# 统计平均值
average = np.mean(scores)
print(f"平均值: {average}")
# 计算标准差
std_deviation = np.std(scores)
print(f"标准差: {std_deviation}")
# 计算中位数
scores.sort() # 排序分数
median = scores[len(scores) // 2] if len(scores) % 2 == 0 else (scores[len(scores) // 2 - 1] + scores[len(scores) // 2]) / 2
print(f"中位数: {median}")
# 判断及格情况,假设60分为及格线
grade_count = Counter(score >= 60 for score in scores)
pass_rate = grade_count[True] / len(scores) * 100
print(f"及格率: {pass_rate:.2f}%")
```
在这个程序中,首先通过循环从用户那里收集10个成绩,然后使用`numpy`的`mean()`和`std()`函数计算平均值和标准差,`sort()`函数对成绩排序后再找到中位数。最后,我们使用`collections.Counter`来创建一个计数器,检查每个成绩是否大于等于60,并计算及格的学生比例作为及格率。
阅读全文