for i in range(1, 4):
def f():
return i*i
fs.append(f)
之所以输出是999,是因为在调用函数时,函数内使用的i所指向的内存其实是循环变量i所指向的内存,其已经改变。
而我们只需要让函数单独指向一个属于它的内存就可以了。
def count():
fs = []
for i in range(1, 4):
def f(a = i):
return a*a
fs.append(f)
return fs
def f():
return i*i
fs.append(f)
之所以输出是999,是因为在调用函数时,函数内使用的i所指向的内存其实是循环变量i所指向的内存,其已经改变。
而我们只需要让函数单独指向一个属于它的内存就可以了。
def count():
fs = []
for i in range(1, 4):
def f(a = i):
return a*a
fs.append(f)
return fs
2015-06-27
return 'A' if self.__score-90>=0 else 'B' if self.__score-60>=0 else 'C'
2015-06-27
最简单的
import math
def is_sqr(x):
a = math.sqrt(x)
return int(a) == a
print filter(is_sqr, range(1, 100))
import math
def is_sqr(x):
a = math.sqrt(x)
return int(a) == a
print filter(is_sqr, range(1, 100))
2015-06-25
def cmp_ignore_case(s1, s2):
t1=s1.upper()
t2=s2.upper()
if t1>t2:
return 1
if t1<t2:
return -1
if t1==t2:
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
t1=s1.upper()
t2=s2.upper()
if t1>t2:
return 1
if t1<t2:
return -1
if t1==t2:
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2015-06-25
import math
def is_sqr(x):
r=int(math.sqrt(x))
return r*r==x
print filter(is_sqr, range(1, 101))
def is_sqr(x):
r=int(math.sqrt(x))
return r*r==x
print filter(is_sqr, range(1, 101))
2015-06-25
其实装饰器没这么难,是这节课的老师讲得太坑B了。
http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html我百度了好多,这篇讲得最容易懂,看完就差不多可以理解了,然后再慢慢消化。这个老师讲得完全不按正常进度来,跳得太快。
http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html我百度了好多,这篇讲得最容易懂,看完就差不多可以理解了,然后再慢慢消化。这个老师讲得完全不按正常进度来,跳得太快。
2015-06-24
lst为空lst时需要判定一下吧,另外可以改写成reduce版的
def calc_prod(lst):
def result():
if lst.__len__()==0:
return 'Empty List'
rlt = 1
for x in lst:
rlt = rlt * x
return rlt
return result
f = calc_prod([])
print f()
def calc_prod(lst):
def result():
if lst.__len__()==0:
return 'Empty List'
rlt = 1
for x in lst:
rlt = rlt * x
return rlt
return result
f = calc_prod([])
print f()
2015-06-24
def calc_prod(lst):
def prod(x, y):
return x * y
def g():
return reduce(prod,lst)
return g
f = calc_prod([1, 2, 3, 4])
print f()
顺带复习了reduce高阶函数的使用
def prod(x, y):
return x * y
def g():
return reduce(prod,lst)
return g
f = calc_prod([1, 2, 3, 4])
print f()
顺带复习了reduce高阶函数的使用
2015-06-23
print isinstance(t,Person)
print isinstance(t,Student)
print isinstance(t,Teacher)
print isinstance(t,object)
print isinstance(t,Student)
print isinstance(t,Teacher)
print isinstance(t,object)
2015-06-23