最赞回答 / 写忆3789911
运行f1, f2, f3 = count() 得到的是三个没有运行的函数,直接print(f1, f2, f3)得到的是三个函数的地址。由于运行count()返回了三个函数(循环了三次),当然需要三个变量来接收(f1, f2, f3 = count() )。当然也可以这样l = count() ,打印方式 print(a[0](), a[1](), a[2]()),这也是可以的。详细代码如下:def count(): fs = [] for i in range(1, 4): ...
2018-01-20
最赞回答 / 云才哥
首先你的思路是没有问题的,math.sqrt(4)==float(2)这是成立的,但是你的程序有问题,因为程序的执行流程是依次从range(1,101)中取一个数作为is_sqr()函数的参数调用函数,而函数体每次都会执行循环体,也就是说都会从i==1开始执行,但当x==4时math.sqrt(x)==float(1)不成立即返回了false并结束调用函数,也就是说循环体只会执行i==1时这一句语句并不能起到循环体的作用。如果硬是要用这种思路建议改为i=int(math.sqrt(x))return ma...
2018-01-17
最新回答 / 潇潇暮雨3678137
不要忽略map(),将列表中的每一个元素作为参数,在函数中调用并返回结果,产生新的列表。def name(s): # return s.capitalize() #capitalize() 首字母大写,其余全部小写 return s[0].upper()+s[1:].lower() #此时的s是列表中每一个元素,是字符串,所以s[0].upper()+s[1:].lower() 是对单个字符串进行首字母大写,其他部分小写print(list(map(name,['adam', 'L...
2018-01-17
最赞回答 / 黑色礼帽
1.创建函数count() ,返回一个list2.调用count()的过程中有个for循环,for循环的内容是:创建函数f() ;调用函数f():tmp = f();并将结果tmp添加至列表fs:fs.append(tmp);3.count() 返回列表fs,即返回[1,4,9]4.赋值:f1 , f2 , f3 = count() ;即f1 , f2 , f3 = [1,4,9]
2018-01-16
最赞回答 / 黑色礼帽
函数参数的目的就是为函数体中的计算过程提供变量,外层函数已经提供有效变量;且lazy_sum()是calc_sum()的内层函数,程序调用calc_sum()的过程中,创建了lazy_sum(),没有既定参数。
2018-01-15
最赞回答 / 谢文东
个人建议安装cv2这样的还是从linux系统上学习,别把时间浪费在安装上,Windows在安装这些的时候真的很坑,我上次用Windows安装dlib来支持openface,安装了一天一夜都不行,生气了,换了linux,然后加上安装虚拟机的时间,两个小时全部搞定,强烈建议linux
2018-01-11