为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
我的算是正解之一:
import math

def is_sqr(x):
return x and math.modf(math.sqrt(x))[0] == 0

print filter(is_sqr, range(1, 101))
class Fib(object):
def __init__(self):
pass
def fibonaci(self,n):
a, b, L = 0, 1, []
for n in range(n):
L.append(a)
a, b = b, a + b
return L
def __call__(self,m):
return self.fibonaci(m)

f = Fib()
print f(10)
def cmp_ignore_case(s1, s2):
for i in range(0,10):
if s1[i].lower() > s2[i].lower():
return 1
break
elif s1[i].lower() < s2[i].lower():
return -1
break
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
def cmp_ignore_case(s1, s2):
for i in range(0,10):
if s1[i].lower() > s2.lower():
return 1
break
elif s1[i].lower() < s2.lower():
return -1
break
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
更好的
#coding=utf-8
class Person(object):
def __init__(self, name, score):
self.name=name
self._score=score

p = Person('Bob', 59)

print p.name
print 'attributeerror'
#纯属投机取巧,学术不精
import math

def is_sqr(x):
for y in range(1,11):
if x==y*y:
return x
print filter(is_sqr, range(1, 101))
不用sqrt的方法
if num < 0:
pass
elif num == 1:
self.l = [0]
elif num == 2:
self.l = [0, 1]
else :
self.l = [0, 1]
length = len(self.l)
while length < num:
self.l.append(self.l[length-2]+self.l[length-1])
length = length + 1
如果list不仅仅包含 Student 类,则 __cmp__ 可能会报错:
只要在__cmp__函数里加上判断
def __cmp__(self, s):
if isinstance(s, Student) == False:
return 0
if self.name < s.name:
return -1
elif self.name > s.name:
return 1
else:
return 0
就可以了.
def performance(unit):
def wrapper(f):
def fwrapper(*args, **kw):
startMil = getTime(unit)
ff = f(*args, **kw)
print 'call %s() exec time: %d %s' % (f.__name__, getTime(unit)-startMil,unit)
return ff
return fwrapper
有几个人坚持到这里了?
import os
print os.path.isdir(r'/data/webroot/conf')

print os.path.isfile(r'/data/webroot/conf/app.conf')
这样就成功了
def do(x,y):
return x*y
def calc_prod(lst):
def g():
return reduce(do,lst)
return g

f = calc_prod([1, 2, 3, 4])
print f()
嗯,我觉得我这个写法更适合我们这些凡人
这个课程本来就是进阶课程,不懂就自己多努力下 ,怎么这么贪婪 要求这么多,免费的这么好的教程真的良心
import math

def is_sqr(x):
return math.sqrt(x) - int(math.sqrt(x)) == 0
print filter(is_sqr, range(1, 101))
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消