-
这里不是很懂查看全部
-
这里注意可以捕捉并处理异常 class Person(object): def __init__(self, name, score): self.name = name self.__score = score p = Person('Bob', 59) print p.name try : print p.__score except AttributeError: print 'attributeerror'查看全部
-
睡着了的貓貓 实例3:对第二个关键字排序 >>>L = [('b',6),('a',1),('c',3),('d',4)] >>>L.sort(lambda x,y:cmp(x[1],y[1])) >>>L >>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)] 实例4: 对第二个关键字排序 >>>L = [('b',6),('a',1),('c',3),('d',4)] >>>L.sort(key=lambda x:x[1]) >>>L >>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)] 实例5: 对第二个关键字排序 >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>import operator >>>L.sort(key=operator.itemgetter(1)) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例7: >>>L = [('d',2),('a',4),('b',3),('c',2)] > L.sort(key=lambda x:x[1]) > L >>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)] 实例8: >>> L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:(x[1],x[0])) > L >[('c', 2), ('d', 2), ('b', 3), ('a', 4)] 实例9: >>> L = [('d',2),('a',4),('b',3),('c',2)] L.sort(key=operator.itemgetter(1,0)) L [('c', 2), ('d', 2), ('b', 3), ('a', 4)] tuple是的比较从左到右比较的,比较完第一个,如果相等,比较第二个查看全部
-
有理数的加分,题中给的是分数的加法。def __init__(self, p, q),p是分子,q是分母。有理数的加法就相当于,分子*分母 除以 分母*分母<br> 辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。<br> 这就是辗转相除法的原理。<br> def gcd(a,b); if b == 0: return a return gcd(b, a%b) return gcd(b, a%b) 后面的gcd(),不要忘记 四则混合运算的返回值都要返回类名中去,return Rational() 可以直接调用现成的 from fractions import gcd.就不用麻烦定义gcd了<br> 辗转相除法的格式<br> 例如,求(319,377):<br> ∵ 319÷377=0(余319)<br> ∴(319,377)=(377,319);<br> ∵ 377÷319=1(余58)<br> ∴(377,319)=(319,58);<br> ∵ 319÷58=5(余29),<br> ∴ (319,58)=(58,29);<br> ∵ 58÷29=2(余0),<br> ∴ (58,29)= 29;<br> ∴ (319,377)=29.<br> 可以写成右边的格式。<br> 用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。查看全部
-
截图1查看全部
-
什么事面向对象编程查看全部
-
在官网找需要的py模块查看全部
-
安装web.py查看全部
-
包(文件)和模块(相关代码)的关系查看全部
-
不同文件下同名模块的完整模块名不同查看全部
-
同名模块放入不同的包中解决重名问题查看全部
-
引用其他模块查看全部
-
代码越来越多的时候查看全部
-
代码越来越多的时候查看全部
-
a, b = b, a+b一定要放在L.append(a)下面,否则第一个a,就成为了a + b(1),而不是0的起始值了。 先执行append函数,再执行a,b = a, a+b,起始就先提取a=0了。<br> <br> class Fib(object):<br> def __init__(self, num):<br> a, b, L = 0, 1, []<br> for n in range(num):<br> L.append(a)<br> a, b = b, a + b<br> self.numbers = L<br> self.numbers中的numbers是属性名,可以任意起名,但是要方便其他人理解。而(self, num)则是属性值,不可混为一谈<br> 要在for in之前定义数列L,否则将会报错referenced before assignment。所以要先定义数列,再向数列中增加数值 class下面的def __init__格式是不变的查看全部
举报
0/150
提交
取消