最赞回答 / 十三月独处
import timedef performance(unit): def decorate (f): def warpper(*args, **kw): timestart = time.time() r = f(*args, **kw) timeend = time.time() if unit == 'ms': t=(timeend - tim...
2018-12-11
最赞回答 / 慕用6484265
看这个变量是指向函数还是调用函数。如abs这个函数:f=abs 即f指向abs这个函数 print f 就会打印出所在地址f(a) 则是值调用这个函数 ()内为空是调用此函数不需要参数 但要打出()表示调用个人理解
2018-12-09
最赞回答 / 慕移动0023324
因为一个数最大的因数是其本身,即 x / 1 = x,再次就是它的一半。所以通过反复比较a,b两个数,当a除以b余数为0时,即找到了它们之间的最大公约数。比如:gcd(25,15)=>gcd(15,10)=>gcd(10,5)=>gcd(5,0),返回的a值5就是结果。再如:gcd(15,25)=>gcd(25,15)=>gcd(15,10)=>gcd(10,5)=>gcd(5,0)
2018-12-04
最赞回答 / 神乐_Nash
def count(): fs = [] for i in range(1, 4): def f(i): return i*i fs.append(f(i)) return fsf1 = count()#返回的列表中是【1,4,9】print (f1) #此处不可用f1(),因为是列表,列表不能像函数一样调用f2 = count()#返回的列表中是【1,4,9】print (f2)f3 = count()#返回的列表中是【1,4,9】pr...
2018-12-03
最赞回答 / qq随大流
代码有两个错误问题:1、math.sqrt(x) 返回的永远是个float,而不是int。2、代码少了一个 return 。正确参考:import mathdef is_sqr(x): a = math.sqrt(x) return int(a) == aprint filter(is_sqr, range(1,101))
2018-12-01
最赞回答 / 慕移动0023324
这个问题应该拆分为两个知识点:第一,关于i值的问题在for循环结束后,i的值没有被修改,所以它一直是i=3的状态。这个可以尝试在版本一的程序中,return fs前面修改一下i的值,比如 i = 9,看看结果是多少?第二,关于fs中所保存的内容在版本一的程序中,fs=[f(), f(), f()],所以打印f1、f2、f3的内容是一样的。在版本二(练习题的答案)的程序中,fs=[f(1), f(2), f(3)],所以打印f1、f2、f3的内容是不一样的。比如:print(f2()),实际就是调用f(2)...
2018-11-30
最赞回答 / 慕少11967
%s:表格式化为字符串%d:表格式化为整数,88为整数所以可以用%d,但是
(Student: %s, %s, %d )外面是加了引号的,不论你用%s还是%d,最终都是字符串形式,而__str__本身就该返回字符串,因此不会出错
2018-11-29