python输入10个数据,分别统计平均值、标准差、中位数、及格率
时间: 2024-10-25 07:09:42 浏览: 33
Python中可以使用内置的`statistics`模块来计算这四个统计数据。首先,你需要从用户那里输入10个数据并存储在一个列表中。然后你可以按照以下步骤计算:
1. **平均值** (mean): 使用`mean()`函数计算所有数值的平均值。
```python
import statistics
data = [] # 用户输入的数据,例如:data = [float(x) for x in input("请输入10个数字,以空格分隔: ").split()]
average = statistics.mean(data)
```
2. **标准差** (standard deviation): 使用`stdev()`函数计算数值的标准差。
```python
std_deviation = statistics.stdev(data)
```
3. **中位数** (median): 使用`median()`函数找到中间位置的数值,如果数量偶数则取中间两个数的平均值。
```python
median = statistics.median(data)
```
4. **及格率** (passing rate): 假设有一个特定的及格阈值,比如60,你可以先筛选出大于等于这个值的分数,然后计算其占比作为及格率。
```python
threshold = 60
pass_count = len([x for x in data if x >= threshold])
pass_rate = pass_count / len(data) * 100 # 乘以100得到百分比形式
```
完整的代码示例:
```python
import statistics
# 获取用户输入
data_str = input("请输入10个数字,以空格分隔: ")
data = [float(x) for x in data_str.split()]
# 计算统计信息
average = statistics.mean(data)
std_deviation = statistics.stdev(data)
median = statistics.median(data)
# 设置及格线和计算及格率
threshold = 60
pass_count = sum(1 for x in data if x >= threshold)
pass_rate = (pass_count / len(data)) * 100
print(f"平均值:{average}")
print(f"标准差:{std_deviation}")
print(f"中位数:{median}")
print(f"及格率:{pass_rate}%")
阅读全文
相关推荐


















