课程
/后端开发
/Python
/python进阶
为什么不通过
import mathdef is_sqr(x): j = 1 while j <= x/j: if j * j == x: flag = 1 break else: flag = 0 j = j+1 return flagprint filter(is_sqr,range(1,101))
import math
def is_sqr(x):
j = 1
while j <= x/j:
if j * j == x:
flag = 1
break
else:
flag = 0
j = j+1
return flag
print filter(is_sqr,range(1,101))
2016-02-20
源自:python进阶 2-6
正在回答
把缩进改为四个空格,去掉多余空行
代码本身没有问题
Kennard 提问者
你写得是对的啊~下面不是出正确结果了吗?既然import math了,你的代码就不能算简洁了
import math print filter(lambda x : math.pow(int(math.sqrt(x)), 2) == x, range(1, 101))
import math def is_sqr(x): j = 1 while j <= x/j: if j * j == x: flag = 1 break else: flag = 0 j = j+1 return flag print filter(is_sqr,range(1,101))
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计