课程
/后端开发
/Python
/python进阶
import math
def f(x):
if math.sqrt(x)*10%10 == 0:
return math.sqrt(x)
print filter(f,range(1,101))
2019-06-16
源自:python进阶 2-6
正在回答
filter()中的f 返回值是布尔TRUE/FALSE 所以要返回 r*r == x
我也是你这样写的,所以返回值应该就是 return math.sqrt(x)*10%10 == 0
写清楚就是
return True
else:
return False
只是多做了一次操作 == 判断后本来就是返回True或者False
r是开根号后的值 x为开根号前的值
另外,萌新不太理解为什么标准答案要返回 r*r==x?
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计