编写程序:求解一组不定长度数据的基本统计值:平均值、标准差、中位数。
时间: 2023-07-31 20:12:34 浏览: 193
求值_python_方差_中位数_平均值_
5星 · 资源好评率100%
好的,我可以为您编写一个 Python 程序来求解您所描述的基本统计值。以下是代码:
```python
import math
def calculate_stats(data):
n = len(data)
mean = sum(data) / n
variance = sum([((x - mean) ** 2) for x in data]) / n
std_dev = math.sqrt(variance)
sorted_data = sorted(data)
if n % 2 == 0:
median1 = sorted_data[n//2]
median2 = sorted_data[n//2 - 1]
median = (median1 + median2) / 2
else:
median = sorted_data[n//2]
return mean, std_dev, median
# 测试代码
data = [1, 2, 3, 4, 5, 6]
mean, std_dev, median = calculate_stats(data)
print("平均值:", mean)
print("标准差:", std_dev)
print("中位数:", median)
```
上述代码定义了一个名为 `calculate_stats` 的函数,它接受一个列表参数 `data`,并返回该列表的平均值、标准差和中位数。
在该函数中,我们首先计算列表的长度 `n`,然后计算平均值、方差和标准差。接着,我们使用 Python 的内置 `sorted()` 函数对列表进行排序,并计算中位数。如果列表长度为偶数,则中位数是中间两个数的平均值;否则,中位数是列表中间的数。
最后,我们在主程序中定义一个列表 `data`,并调用 `calculate_stats` 函数来计算其基本统计值。在这种情况下,程序的输出将是:
```
平均值: 3.5
标准差: 1.707825127659933
中位数: 3.5
```
请注意,这只是一个简单的示例,您可以修改 `data` 列表,以获得不同的输出。
阅读全文