最新回答 / 慕前端3429475
加了@log你可以把
@log def factorial(n):当做log(factorial(n))酱紫,n就是作为函数factorial的参数传进去的呀
2018-05-30
最新回答 / 慕村5000538
你这样写不对哦,出错地方在r=f(i),因为这句话是直接把值传递给了r,而你在后面print时候是引用的函数。其次,j其实相当于i=1,2,3的传入。由于Python是动态语言,所以只有在真正执行的时候才会进行解释,那么如果在f里面直接传入了i,则在print 时候使用的是i=3,也就是最后的值。你可以把这count看成整个大的函数,而f,g函数是其内部的函数调用,fs和i当作局部变量。那么在使用的时候就相当于将i的值传参给g(此处i是实时的传入进去,并且保存了)。所以当print时候python解释时调...
2018-05-27
最新回答 / 慕勒322701
from functools import reduce def prod(x, y): return x * yprint (reduce(prod, [2, 4, 5, 7, 12]))python3版本,reduce在functools模块里,要引用它
2018-05-26
最赞回答 / Humanlike
传入 r 和 f 的区别就在于传入时函数 f 是否执行。如果传入的是 r ,函数 f 会先执行,fs 里存的是三个指向函数 g 的变量,此时 i 已经传给 j ,由于函数 g 需要使用 j ,所以当前的 j 会在内存中保存,所以通过 f1() 可以得到正确乘积。如果传入的是 f ,函数 f 没有执行,所以 fs 里存的是三个指向函数 f 的变量,由于函数 f 有一个形参 i ,所以当通过 f1() 调用函数 f 时需要传入参数,违背了题意。
2018-05-22
最新回答 / 惠小轩
相当于 这个第二个比较函数 是一种比较规则 ,默认的是x<y 返回-1 表示放在前面 ,x>y 返回1 表示放在后面,0 表示一样大。加上符号后 就改变了原来的规则 x<y返回1 放在后面 以此类推 。sorted函数根据这个相反的排序规则进行排序。我是这么理解的
2018-05-22