python小小程序练习

live long and prosper

python小小程序练习

编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。

先把问题的答案放出,待笔者稍后讲解:

def function(*number):
    a=sum(number)/len(number)
    b=filter(lambda num:num>a,number)
    return (a,)+tuple(b)
print(function(23,45,67,23,45))
1、首先根据题意,需要函数能够接受任意实数,所以函数传入形参加上*,

->知识点:使其接收任意数量的形参

def function(*number):
2、sum()和len()函数

sum()可以求解所有参数的和,len()可以求解传入参数的个数,sum()/len()则可以求解平均值

a=sum(number)/len(number)

并且平均值列为元组的第一个元素

3、lambda表达式,filter()函数

lambda表达式筛出所有大于平均值的实数。

filter()函数

该函数用于过滤序列,将序列中的不符合条件的元组过滤掉。函数接受两个参数,第一个为过滤条件函数,第二个为传入的序列,在此例中:

过滤函数 传入序列
lambda表达式 number
4、tuple()函数、元组

·tuple()可以将列表转换为元组。
·“+”可以连接序列
·元组中只有一个元素使需要加上“,”有标识


欢迎斧正

你可能感兴趣的:(python,学习,开发语言)