最赞回答 / 慕标7383595
首先,str和repr都是将类的实例变为字符串的形式输出,其次,如果找不到str,会找repr,如果两者都没有,能正常运行,但是只是打印出了类实例的名称及内存地址,这才是输出错误的原因。
2019-04-23
最赞回答 / 桐人的星光
__add__自定义加法运算,两个分数进行加法运算会调用,调用加法函数返回有理数Rational函数(分子,分母).self是其中一个分数,r是另外一个分数,则分数计算法则[(s(self)的分子*r的分母 +s的分母 * r的分子)]—>(整个就是结果的分子),(s的分母*r的分母)—>(整个就是结果的分母)====如1/3+2/5=5/15+6/15=11/15,__str__则是自定义函数(字符串),返回字符串格式输出格式(p(分子)/q(分母)分数)
2019-04-22
已采纳回答 / 慕神7042524
import mathdef is_sqr(x): if int(math.sqrt(x))==1: return xprint filter(is_sqr, range(1, 101))当x=4时,sqrt(x)=2 不等于1,判断结束结果是[1, 2, 3]
2019-04-21
已采纳回答 / 夜半人寐
def calc_prod(1st):#不能是1st,数字开头了 def lazy_(): def f(x,y): return x*y return reduce(f,1st) return lazy_f = calc_prod([1, 2, 3,4])#中文逗号print f()
2019-04-20
已采纳回答 / 努力学习的泽羽
import mathdef is_sqr(x): return math.sqrt(x) % 1 == 0print (filter(is_sqr,range(1,101)))慕课网的版本是python2 , 你本机的应该是python 3.7(应该),语法上有不同,print后面需要加( )
2019-04-19
求最大公约数:用辗转相除法 递归函数
def gcd(a,b):
if b==0:
return a
return gcd(b,a%b)
def gcd(a,b):
if b==0:
return a
return gcd(b,a%b)
2019-04-18