用函数参数传递方式编写python函数,接收任意多个实数,返回一个元组,其 中第一个元素为所有参数的平均值,其他元素为所 有参数中大于平均值的实数。主程序中分别接收 1,2,3,4和5,6,7,8,9,输出返回的列表。
时间: 2024-02-16 07:00:30 浏览: 63
好的,这是一个比较简单的 Python 函数编写题目。下面是代码实现:
```python
def average_and_greater_than_average(*args):
average = sum(args) / len(args)
greater_than_average = [x for x in args if x > average]
return (average, *greater_than_average)
# 主程序
result_1 = average_and_greater_than_average(1, 2, 3, 4)
result_2 = average_and_greater_than_average(5, 6, 7, 8, 9)
print(result_1)
print(result_2)
```
输出结果为:
```
(2.5, 3, 4)
(7.0, 8, 9)
```
函数中使用了可变长参数 `*args`,将所有传入的参数打包成一个元组。计算平均值后,再使用列表解析式筛选出大于平均值的实数。最后使用元组解包的方式将平均值和大于平均值的实数打包成一个元组返回。
在主程序中,分别调用函数并打印输出结果。
相关问题
python编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数
可以参考下面的代码实现:
```python
def avg_and_above_average(*args):
if len(args) == 0:
return None
avg = sum(args) / len(args)
above_avg = tuple(filter(lambda x: x > avg, args))
return (avg, *above_avg)
```
使用 `*args` 表示该函数可以接收任意多个实数的参数,使用 `sum(args) / len(args)` 计算出所有参数的平均值,使用 `filter` 函数过滤出大于平均值的实数,最后将平均值和大于平均值的实数放入元组中返回。如果没有参数,则返回 `None`。
用python编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。
```python
def avg_and_greater_than_avg(*args):
avg = sum(args) / len(args)
greater_than_avg = tuple(filter(lambda x: x > avg, args))
return (avg,) + greater_than_avg
```
使用示例:
```python
>>> avg_and_greater_than_avg(1, 2, 3, 4, 5)
(3.0, 4, 5)
>>> avg_and_greater_than_avg(2.5, 3.5, 2.0)
(2.6666666666666665, 2.5, 3.5)
```
阅读全文