编写可变参数的函数,分别用来计算用户输入的任意个非0数据的平均值、方差、中位数
时间: 2024-10-08 08:09:02 浏览: 33
在编程中,编写一个接受可变数量参数的函数来计算一系列非零数值的平均值、方差和中位数是一个常见的需求,特别是在处理动态数据集时。这里以Python为例说明如何实现:
```python
import math
from typing import Sequence
def calculate_stats(*args):
# 检查是否所有参数是非零数字
if not all(isinstance(x, (int, float)) and x != 0 for x in args):
raise ValueError("All input values must be non-zero numbers.")
# 计算平均值
mean = sum(args) / len(args)
# 计算方差
variance = sum((x - mean) ** 2 for x in args) / len(args)
# 对于排序后的序列计算中位数
sorted_args = sorted(args)
n = len(sorted_args)
if n % 2 == 0:
median = (sorted_args[n // 2 - 1] + sorted_args[n // 2]) / 2
else:
median = sorted_args[n // 2]
return mean, variance, median
# 示例:
data = [5, 10, 15, 20]
mean, variance, median = calculate_stats(*data)
print(f"Mean: {mean}, Variance: {variance}, Median: {median}")
阅读全文