中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。
输入格式:
在一行输入中一个班的身高值,以空格分隔。
输出格式:
在一行输出超过输入的平均数的输入值,以空格分隔。
实现
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
from functools import reduce
def main():
#list of int
ls=list(map(lambda x:int(x),input().split()))
avg=sum(ls)/float(len(ls))
#There is a superfuous operation,but I just want to practice these functions.
#print(reduce(lambda x,y:x+' '+y,map(lambda x:str(x),filter(lambda x:x>avg,ls))))
ls=list(filter(lambda x:x>avg,ls))
for temp in ls:
print(temp,end=' ')
#-------
main()
输出
143 174 119 127 117 164 110 128
143 174 164
Q.E.D.