请利用filter()过滤出1到100中平方根是整数的数
import math nums=list(filter(lambda x:math.sqrt(x)%1==0,range(1,101))) print(nums)
输出结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
def sqrt2(x): flag=False for i in range(1,x+1): if x%i!=0: continue s=x//i if s==i and s//i==1 and i//s==1: flag=True return flag nums=list(filter(lambda x:sqrt2(x),range(1,101))) print(nums)
输出结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]