最赞回答 / 拳拳
<...code...>你想写的应该是这样的,你的代码里有点儿基本的错误,我稍作修改了一下。下面说一下我自己的理解这段代码运行的时候会输出 Bob 报错会提示Person中没有age的属性,但是如果我们...
2015-11-26
最赞回答 / 谁能入我梦
这种情况是因为在python3里面,map()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map())
2015-11-26
最新回答 / 达达里昂
同希望慕课网可以实现这个功能。python2.7 在线代码测试一般的小程序懒得另开编辑器,都是用在线的python编辑器(支持其他主流语言,适用其他课程),把你的代码粘进去,出问题后会报错。
2015-11-25
最赞回答 / catdav
换个角度想:改之前,f()不带参数,fs里的f都是完全一样的,fs的内容是[f(),f(),f()]改之后,f(j)带参数,循环后产生了三个f(),fs的内容是[f(1),f(2),f(3)]
2015-11-23
最赞回答 / 小二百
这里有两个对象,一个是r1,另一个是r2,分别对应def __add__(self,r):中的self,r,r是一个对象,它有两个属性p和q,r1 = Rational(1, 2),r2 = Rational(1, 4),所以self.p=r1.p=1, self.q=r1.q=2,r.p=r2.p=1, r.q=r2.q=3,return Rational(self.p * r.q + self.q * r.p, self.q * r.q) 表示返回两个参数p和q的值,以便下面def __str__(s...
2015-11-17
最新回答 / 虫虫妞
cmp(x,y) 函数只是用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1,并不会返回x或y。这个题中传入了s1,s2。但是比较的时候只是借用对s1/s2转换后的数值进行比较,返回的也只是-1、0、1。拆开也就相当于:def cmp_ignore_case(s1, s2): s1 = s1.lower() s2 = s2.lower() if s1 > s2: return 1 if s1 ...
2015-11-16