实验目的 (1)掌握函数定义和调用的用法; (2)理解递归函数的执行过程;掌握位置参数、关键参数、默认值参数和长度可变参数的用法; (3) 理解函数调用时参数传递的序列解包用法;理解变量作用域;掌握lambda表达式的定义与用法。 实验内容 (1)编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。
时间: 2024-02-09 17:11:55 浏览: 87
Python定义函数实现累计求和操作
好的,这是一个关于Python函数定义和调用的实验。你需要编写一个函数,接收任意多个实数,然后返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。下面是这个函数的实现:
```python
def avg_and_above_avg(*args):
if len(args) == 0:
return (0,)
avg = sum(args) / len(args)
above_avg = [x for x in args if x > avg]
return (avg,) + tuple(above_avg)
```
这个函数使用了长度可变参数`*args`,可以接收任意多个实数参数。首先判断参数个数是否为0,如果是则返回`(0,)`。否则,计算所有参数的平均值,并使用列表推导式获取所有大于平均值的实数,最后返回一个元组,其中第一个元素为平均值,其他元素为大于平均值的实数。
你可以使用以下代码来测试这个函数:
```python
result = avg_and_above_avg(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print(result)
```
这个代码会输出`(5.5, 6, 7, 8, 9, 10)`,表示所有参数的平均值为5.5,大于平均值的实数为6、7、8、9和10。
阅读全文