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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
import math

def isvaild(x):
return math.sqrt(x).is_integer()
print filter(isvaild,range(1,101))
我都看不懂啊,可能我弱了

最赞回答 / weixin_慕盖茨4367173
a,b=b,a+b 这种赋值方式是先计算等式右边,再把计算结果赋值给等式左边。而a=b,b=a+b,这样是先把b的值赋给a,然后再计算b=a+b,就变成了b=b+b了

最赞回答 / 古天羽号_mooc
函数理解是上编写好的存在于内存固定某处的代码序列,比如上述代码中的0x1037bf320。x只是一个临时创建的变量,自身是没有意义的。x被赋予函数的实际后,就相当于指向(因为学了C所以喜欢指针这种描述)上述函数所在位置,x()则表明是对x指向位置的跳转/调用,和f()是等价的。

最新回答 / 慕圣001877
你这个calc_prod函数返回的是reduce(f,lst)计算出来的值,没有返回函数,所以最后一句print f()会报错
为什么看不了视频了?

最新回答 / 慕圣6380070禅达
这里其实是2版本的ceil和floor对整型的向上和向下取整导致的,3.的版本就直接取小数部分了,直接强制类型转化,2版本 的还保留了c语言,跟分子的逻辑

已采纳回答 / mtboy
# coding: utf-8#取公约数方法def gcd(a,b):    print 'init------a=%s' % a     print 'init------b=%s' % b     print '################'    if b == 0:        print 'last-----b=0:a=%s' % a         print 'last-----b=0:b=%s' % b         return a    return gcd(b, a % b)...

最新回答 / qq_萱紫_0
数据类型相同可以想见,像n=1, m=2, j = n+m=3一样,r1和r2属于相同的数据类型,都是string类型,string+string还是string,所以可以相加
因为i是一个会改变的参量而不是一个固定的数,所以想办法留住需要的时候i的值就可以了
def count():
fs = []
for i in range(1, 4):
def f(x=i):
return x*x
fs.append(f)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
看完第一遍,打卡。

最新回答 / 椰汁菠萝
python中方法的返回类型也是固定的,不能一会儿是int,一会儿是float吧<...图片...>

已采纳回答 / 慕仔7235714
要看用什么IDE了 提前设置好tab键为4个空格  即可
import math

def is_sqr(x):
return x and x%math.sqrt(x)==0

print filter(is_sqr, range(1, 101))
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消