终于看懂了:
g=gcd(self.p,self.q)
return '%s/%s' % (self.p/g,self.q/g)
这个代码是为了约分的。
gcd函数是为了求最大公约数的。原理是辗转相除法
g=gcd(self.p,self.q)
return '%s/%s' % (self.p/g,self.q/g)
这个代码是为了约分的。
gcd函数是为了求最大公约数的。原理是辗转相除法
2017-08-27
def prod(x,y):
sum=0
sum=x*y
return sum
print reduce(prod,[2,4,5,7,12])
sum=0
sum=x*y
return sum
print reduce(prod,[2,4,5,7,12])
2017-08-26
我的理解是闭包在返回时才生成对应的方法,在之前都是对原来变量的引用,生成对应方法时用实际的值替代了变量。所以fs中储存的应该是i所对应的方法,因此调用f(i)来获得i所对应的方法。
def count():
fs = []
for i in range(1, 4):
def f(j):
def h():
return j*j
return h
fs.append(f(i))
return fs
def count():
fs = []
for i in range(1, 4):
def f(j):
def h():
return j*j
return h
fs.append(f(i))
return fs
2017-08-26
这道题的意思就是给时间加上单位 ms.核心代码是:t1=time.time() r=f(*args,**kw) t2=time.time() t=(t2-t1)*1000 if unit=="ms" else (t2-t1) print "call %s() in %f %s" %(f.__name__,t,unit) return r
需要给核心代码加入个wrapper函数 def wrapper(**args,**kw)return wrapper.
为了调用wrapper函数,再加个perf_decorator 函数
需要给核心代码加入个wrapper函数 def wrapper(**args,**kw)return wrapper.
为了调用wrapper函数,再加个perf_decorator 函数
2017-08-26