编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。主程序中分别接收1,2,3,4和5,6,7,8,9,输出返回的列表。
时间: 2023-11-22 19:56:07 浏览: 120
Python 函数的返回值-利用元组返回多个值
5星 · 资源好评率100%
可以使用以下代码来实现:
```python
def avg_and_above_avg(*args):
avg = sum(args) / len(args)
above_avg = tuple(x for x in args if x > avg)
return (avg,) + above_avg
# 测试
print(avg_and_above_avg(1, 2, 3, 4))
print(avg_and_above_avg(5, 6, 7, 8, 9))
```
输出结果为:
```
(2.5, 3, 4)
(7.0, 8, 9)
```
解释一下代码:
`*args` 表示接收任意多个位置参数,这些参数会被打包成一个元组。在函数内部,我们首先计算所有参数的平均值 `avg`,然后使用生成式筛选出所有大于平均值的实数,打包成一个元组 `above_avg`。最后,我们将 `avg` 和 `above_avg` 组合成一个元组并返回。在主程序中,我们分别传入不同数量的实数进行测试,输出函数返回的结果。
阅读全文