最赞回答 / wo蜗牛niu
斐波那契数列定义:a1=0,a2=1.........an=a(n-1)+a(n-2)def __init__(self, num): # num为数列长度 a, b, L = 0, 1, [] #给a赋初值0,b赋初值1,L创建一个空list 。 for n in range(num): #循环依次生成数列数值 L.append(a) #把生成的数值添加到列表末尾 a, b = b, a + b #将a赋值为b,...
2020-01-29
最赞回答 / 慕标5379731
首先p代表有理数的分子,q代表有理数的分母。打个比方 比如1/3和2/5相加 self = 1/3( p = 1 ,q = 3),r = 2/5 (p = 2, q =5) 这个表达式就是1*5 + 3*2 , 3*5 生成的新对象的p = 1*5+3*2 q =3*5
2020-01-21
最赞回答 / 为何_
导入time 模块 然后开始定义我们的闭包函数,我之前不知道高阶函数,都叫闭包,这只是个名字不要纠结首先闭包至少两层函数嵌套,这没问题那就定义一个performance函数,接下来返回值要是一个函数,那就写好return 一个函数,在开始定义里面函数这一层内层函数一定要执行想要装饰的函数本身,否则就不叫装饰器了,而传进来的函数就是performance的参数f,即f 就是@performance这句代码下面的函数 factorial,至于为什么是这个函数,那就是@语法的内部操作了.不用太纠结所以在perf...
2020-01-17
最新回答 / qq_慕姐7166301
@logdef factorial(n): return reduce(lambda x,y: x*y, range(1, n+1))将@log下的函数定义为log函数的参数
2020-01-17
最赞回答 / qq_慕丝9034657
也是初学,我的理解是:f1,f2,f3 = count() count()返回的是fs 是一个列表,所以这个可能就是像x,y = 2,3这样的赋值,不知道是不是元组拆包? 然后打印f1() 注意r = f(i) fs.append(r) 列表fs中添加的是r ,而r 是一个函数f(i), i in range(1, 4),值为1,2,3,所以f(j) 函数被调用,把i的值传给j ,返回g, 那就调用g()函数,g() 返回 j*j, 其实就是实参i * i,返回了1,4,9 分别对应 ...
2020-01-16
最赞回答 / 为何_
然后开始定义我们的闭包函数,我之前不知道高阶函数,都叫闭包,这只是个名字不要纠结首先闭包至少两层函数嵌套,这没问题那就定义一个performance函数,接下来返回值要是一个函数,那就写好return 一个函数,在开始定义里面函数这一层内层函数一定要执行想要装饰的函数本身,否则就不叫装饰器了,而传进来的函数就是performance的参数f,即f 就是@performance这句代码下面的函数 factorial,至于为什么是这个函数,那就是@语法的内部操作了.不用太纠结所以在performance 和 ...
2020-01-16
最赞回答 / 沉迷学习无法自拔_456
<...code...>原理不知道,以下希望能帮到你不加@property。那就是方法,用s.grade()调用,可得到正确返回值(CBA)加@property。装饰为属性,用s.grade即可返回CBA
2020-01-15
最赞回答 / 启林
意思是:count()函数被调用后,返回3个值(这3个值其实组成了一个tuple)由于tuple是有序的,tuple中的3个值分别赋值给 f1, f2, f3即:tuple = count()f1 = tuple[0]f2 = tuple[1]f3 = tuple[2]
2020-01-12
import math
def is_sqr(x):
if int(math.sqrt(x))**2 == x :
return x
print filter(is_sqr, range(1,101))
def is_sqr(x):
if int(math.sqrt(x))**2 == x :
return x
print filter(is_sqr, range(1,101))
2020-01-10
最赞回答 / Accenzer
你的描述看了一部分,感觉你已经完全被绕晕了。所以不针对你的提问一一回答,只说一下我觉得正确的理解,你可以看完后跑一下,我没有跑不保证每处细节都正确。首先,fs 是一个 list,只不过其中的元素不是数字而是函数。也就是说(fs[0])(),是可以调用该函数的。另外,i 的作用域实在count函数内的,所以当延迟调用 fs 里的任意函数时,去寻找 i 的值时,i 已经变成了 3。所以所有的结果都是9。另外 f1, f2, f3 = count(),是结构赋值语句,也就是说 f1 是 fs 里的第一个函数。f...
2020-01-09
最赞回答 / Anastasia2019
import mathdef is_sqr(x): return int(math.sqrt(x))*int(math.sqrt(x))==xprint filter(is_sqr,range(1, 101))把math.sqrt(x)返回的浮点数用int()转换为整数即可
2020-01-08
最新回答 / 慕仔8326853
这个也是可以的,不过由于它print的是f1(),f2(),f3(),这就要求你一定要用内层函数了,因为它输出的是内层函数的值。你试一下把输出的print f1(), f2(), f3(),删掉括号,它就可以输出了。?做完题多看下问答哈,我记得上一章的问答有对这个进行解释的
2020-01-08