为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不通过?

 为什么不通过

http://img1.sycdn.imooc.com//56c88c640001a85012581180.jpg

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))

正在回答

3 回答

把缩进改为四个空格,去掉多余空行

代码本身没有问题

0 回复 有任何疑惑可以回复我~
#1

Kennard 提问者

非常感谢!
2016-02-22 回复 有任何疑惑可以回复我~

你写得是对的啊~下面不是出正确结果了吗?既然import math了,你的代码就不能算简洁了

import math

print filter(lambda x : math.pow(int(math.sqrt(x)), 2) == x, range(1, 101))


0 回复 有任何疑惑可以回复我~
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))


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么不通过?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信