估计很多人没懂这个吧(self.p * r.q + self.q * r.p, self.q * r.q)
在这里p是分子,q是分母
(self.p * r.q + self.q * r.p)这是有理化计算后的分子
(self.q * r.q)这是有理化计算后的分母
r.q是令一个加数的分子,r.p是另一个加数的分母
例如:1/3+3/2 第一个分数的分子乘第二个分数的分母+第一个分数的分母乘第二个分数的分子(也就是交叉相乘再相加)最后得11(这是经过计算后得到的结果的分子)
第一个分数的分母乘第二个分数的分母( self.q * r.q)得到结果是6
在这里p是分子,q是分母
(self.p * r.q + self.q * r.p)这是有理化计算后的分子
(self.q * r.q)这是有理化计算后的分母
r.q是令一个加数的分子,r.p是另一个加数的分母
例如:1/3+3/2 第一个分数的分子乘第二个分数的分母+第一个分数的分母乘第二个分数的分子(也就是交叉相乘再相加)最后得11(这是经过计算后得到的结果的分子)
第一个分数的分母乘第二个分数的分母( self.q * r.q)得到结果是6
2018-07-12
已采纳回答 / 慕粉7269117
因为这个列表是由返回的三个函数组成的,假设返回了三个函数 x(), y(), z(), 那这个列表就是
fs = [x(), y(), z()]这个时候的 f1,f2,f3 只是作为变量给这些函数一个名字而已。
2018-07-11
-- 使用__future__
from __future__ import unicode_literals
s = 'am I an unicode?'
print isinstance(s, unicode)
-- 加前缀u
s = u'am I an unicode?'
print isinstance(s, unicode)
-- 尝试前缀b
from __future__ import unicode_literals
s = b'am I an unicode?'
print isinstance(s, bytes)
#上面的 运行结果都是True
from __future__ import unicode_literals
s = 'am I an unicode?'
print isinstance(s, unicode)
-- 加前缀u
s = u'am I an unicode?'
print isinstance(s, unicode)
-- 尝试前缀b
from __future__ import unicode_literals
s = b'am I an unicode?'
print isinstance(s, bytes)
#上面的 运行结果都是True
2018-07-11
关于上一章闭包、装饰器可以参考https://blog.csdn.net/u014465934/article/details/80993828
2018-07-11
最赞回答 / 东来往北
抄答案认真些、、、g = gcd(self.p.self.q) 这行的作用是 把运算结果中pq公约数找出来,下一行return 返回结果时对self.p self.q 进行约分化到最简
2018-07-11
第二种方法(缺少的函数f可以通过lambda解决)
def calc_prod(lst):
def lazy_prod():
return reduce(lambda x,y:x*y,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
def calc_prod(lst):
def lazy_prod():
return reduce(lambda x,y:x*y,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
2018-07-10
第一种方法(注意是你reduce写f函数时候没有f,所以多一层def)
def calc_prod(lst):
def lazy_prod():
def f(x,y):
return x*y
return reduce(f,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
def calc_prod(lst):
def lazy_prod():
def f(x,y):
return x*y
return reduce(f,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
2018-07-10
def format_name(s):
# return s[:1].upper()+s[1:].lower()
return s.capitalize()
print map(format_name, ['adam', 'LISA', 'barT'])
# return s[:1].upper()+s[1:].lower()
return s.capitalize()
print map(format_name, ['adam', 'LISA', 'barT'])
2018-07-10
def format_name(s):
return s[:1].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[:1].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2018-07-10
最新回答 / 慕粉7269117
第一个其实也没错,不过题目要求的格式不一样。第二个return f 那def 找个函数就没意义了,相当于这个函数返回又一个函数,而我们是要这个函数返回值的。
2018-07-10