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

3.5.1版本的Python上运行如下代码,显示有语法错误,求解答?

 import math def is_sqr(x):    r=int(math.sqrt(x))    return r*r==x print filter(is_sqr, range(1, 101))

正在回答

3 回答

filter(function or None, iterable) --> filter object

python3 起,filter 函数返回的对象从列表改为 filter object(迭代器)

追问:

谢谢!那么请问filter object可以如何使用?

追答:

filter object 是一个迭代器,所以支持迭代操作,比如 for 循环:

for item in a_filter_object:
    print(item)

或者你还是需要一个列表的话,可以这样得到它:

filter_list = [item for item in a_filter_object]


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

这个课程是以2.7版本的Python为平台运行的,py2和py3有一些语法不一样,比如py3里print后输出要有小括号括起来

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

啥语法错误啊?

感觉这跟版本没关系

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

举报

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

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

进入课程

3.5.1版本的Python上运行如下代码,显示有语法错误,求解答?

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