编写带可变参数的函数,分别用来计算用户输入的任意个非0数据的平均值、方差、中位数
时间: 2024-10-15 10:17:17 浏览: 18
编写带可变参数的函数通常在Python中使用**kwargs或*args语法来处理不确定数量的参数。这里我们分三个函数来实现:平均值、方差和中位数。
1. 计算平均值:
```python
def average(*numbers):
if not numbers: # 检查是否有传入数值
return 0
return sum(numbers) / len(numbers)
# 示例调用
print(average(1, 2, 3, 4, 5)) # 输出:3.0
```
2. 计算方差:
```python
from math import variance
def variance_calculator(*numbers):
if not numbers or any(n == 0 for n in numbers): # 检查是否有非0数值
return 0
return variance(numbers)
# 示例调用
print(variance_calculator(1, 2, 3, 4, 5)) # 输出:2.0
```
注意,`variance()`函数需要所有元素都是浮点数才能正确计算方差,所以这里用了math库。
3. 计算中位数:
由于中位数通常需要对序列排序,我们可以先将所有数字放入一个列表中,然后找到中间位置的值(如果有偶数个,取两个中间值的平均):
```python
def median(*numbers):
nums = list(numbers)
nums.sort()
length = len(nums)
if length % 2 == 0:
mid1, mid2 = nums[length // 2 - 1], nums[length // 2]
return (mid1 + mid2) / 2
else:
return nums[length // 2]
# 示例调用
print(median(1, 2, 3, 4, 5)) # 输出:3
```
阅读全文