最赞回答 / DaKarlLee
如果写成<...code...>的话,返回值是不对的。原视频里你看仔细,相当于是把f1打包成了一个新函数再返回。而你的是先print一次,再返回f1。这样的话这个<...code...>只会在你使用new_fn的时候才会生效但是g1还是只会返回x*2你可以试试写两个打印g1,它是不会输出名字的
2019-06-27
最赞回答 / qq_摸着头说_0
不知道你这样写的思路是什么,从整除的方向讲x%c 也应该是 == 0对于开平方根 每个x都有 x/c == c而且你对c取整之后,当x取1 2 3 时 c都是1, x%c都 == 0这是我的写法,能开方的,平方根是整数,所以乘以10之后能被10整除import mathdef is_sqr(x): return math.sqrt(x)*10%10 == 0print filter(is_sqr, range(1,101))
2019-06-25
filter 现在返回的是指向结果为True的元素的地址域。
Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true
Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true
2019-06-24
已采纳回答 / 小马_125
可以这么认为,self就是r1,r是r2,这样self.p,self.q,r.p,r.q分别是1,3,1,2,返回的p就是
self.p * r.q + self.q * r.p,返回的q就是self.q * r.q
2019-06-19
performance函数形成闭包,返回perf_decorator函数;perf_decorator函数形成闭包,返回wrapper函数;wrapper函数返回r变量,r变量调用了perf_decorator函数的参数f,最终performance函数对factorial函数进行装饰,unit变量 等于 'ms'字符串,对变量t进行判断,返回合适的时间,及factorial函数结果。理解是这么理解,让我写又不太能写出来。。。
2019-06-18
最新回答 / qq_摸着头说_0
filter()中的f 返回值是布尔TRUE/FALSE 所以要返回 r*r == x我也是你这样写的,所以返回值应该就是 return math.sqrt(x)*10%10 == 0写清楚就是if math.sqrt(x)*10%10 == 0: return Trueelse: return False只是多做了一次操作 == 判断后本来就是返回True或者False
2019-06-16
最赞回答 / 慕仙3596748
判断条件不对,math.sqrt(x)结果为float,函数结果永远为False.改成math.sqrt(x) == int(math.sqrt(x))试试
2019-06-15