一个函数cacluate, 可以接收任意多个参数,返回的是一个元组.元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.
def cacluate(*x):
ave=sum(x)/len(x)
list1=[ave]
list2=[i for i in x if x>ave]
list3=list1+list2
tuple1=tuple(list3)
return tuple1
cacluate(1,2,3,4,5)
Traceback (most recent call last):
File "E:/Users/**/Documents/Python/cacluate.py", line 9, in
cacluate(1,2,3,4,5)
File "E:/Users/**/Documents/Python/cacluate.py", line 4, in cacluate
list2=[i for i in x if x>ave]
File "E:/Users/**/Documents/Python/cacluate.py", line 4, in
list2=[i for i in x if x>ave]
TypeError: '>' not supported between instances of 'tuple' and 'float'
[i for i in x if i>ave]
如果有帮助,欢迎采纳,关注~~
def cacluate(*x):
ave=sum(x)/len(x)
list1=[ave]
# list2=[i for i in x if x > ave]
# 修改如下 enumerate(x)返回列表的索引和值
list2=[value for i,value in enumerate(x) if x[i] > ave]
list3=list1+list2
tuple1=tuple(list3)
return tuple1
print(cacluate(1,2,3,4,5,4))
输出为: