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

有没有大神帮我解答一下

https://img1.sycdn.imooc.com//5cb9b6fc0001dfbf19201030.jpg

心态略崩,代码是完全复制的,在慕课网运行成功了,在pycharm就不行

正在回答

2 回答

import math

def is_sqr(x):
    return math.sqrt(x) % 1 == 0
print (filter(is_sqr,range(1,101)))

慕课网的版本是python2 , 你本机的应该是python 3.7(应该),语法上有不同,print后面需要加( ) 

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

慕丝9228277 提问者

加上了,还是不行,不过确实是3.7版本
2019-04-19 回复 有任何疑惑可以回复我~
#2

努力学习的泽羽 回复 慕丝9228277 提问者

看看括号个数对不对,自己对算一下
2019-04-19 回复 有任何疑惑可以回复我~
#3

努力学习的泽羽 回复 慕丝9228277 提问者

import math def is_sqr(x): return math.sqrt(x) % 1 == 0 print(list(filter(is_sqr, range(1, 101)))) 好像还要转换成list 所以在前面还得再加个list,有点麻烦。。哈哈哈哈
2019-04-19 回复 有任何疑惑可以回复我~
#4

慕丝9228277 提问者 回复 努力学习的泽羽

终于可以运行了!谢谢你,感谢!!
2019-04-21 回复 有任何疑惑可以回复我~
查看1条回复

直接打印filter会返回filter对象地址,需要把filter转换成list再打印

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

慕丝9228277 提问者

对,就是这个问题的,感谢大佬!
2019-04-21 回复 有任何疑惑可以回复我~
#2

爱世间万物 回复 慕丝9228277 提问者

怎么转换??
2019-04-23 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

有没有大神帮我解答一下

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