编写带可变参数的函数,分别用来计算用户输入的任意一个非0数据的平均值、方差、中位数.python代码
时间: 2024-10-08 15:11:21 浏览: 41
在Python中,我们可以使用`*args`来创建一个可变长度的位置参数列表,然后通过循环遍历这个列表来计算平均值、方差和中位数。这里是一个简单的例子:
```python
import math
def calculate_stats(*numbers):
if not numbers or all(num == 0 for num in numbers): # 检查是否有非零数据
print("请输入至少一个非零数值")
return
total = sum(numbers)
count = len(numbers)
average = total / count
variance = sum((num - average) ** 2 for num in numbers) / count
median = sorted(numbers)[count // 2] if count % 2 else (sorted(numbers)[count // 2 - 1] + sorted(numbers)[count // 2]) / 2
print(f"平均值: {average}")
print(f"方差: {variance}")
print(f"中位数: {median}")
# 测试
calculate_stats(1, 2, 3, 4, 5)
```
这个函数首先检查是否所有输入都是0,如果不是,就计算平均值、方差和中位数。平均值直接用总和除以数量得到,方差则需要对每个数减去平均值后的平方求和再除以数量,中位数根据列表排序后取中间值。
阅读全文