from math import sqrt
Li=list(range(1,101))
def fun3(m):
s=sqrt(m)
return s==int(s)
print(list(filter(fun3,Li)))
以上是原代码,输出结果如下
[1,4,9,16,25,36,49,64,81,100]
以下是我写的简化代码
from math import sqrt
print(list(s for s in range(1,101) if type(sqrt(s))==int))
为何输出结果是空列表?
求解