最新回答 / Icci
import mathdef is_sqr(x): return x and math.sqrt(x)%1==0 # and 后的语句作为判断该数(即x)是否为整数print filter(is_sqr,range(1,101))
2018-07-20
最赞回答 / Lucien_Liu_0001
s and len(s.strip()) 你需要先清楚 and 这个逻辑运算符的作用,is_not_empty 方法 返回的是这个逻辑运算的结果,当 s 为空字符时(即'')那么 and 前面的 s 为空字符会直接返回False,如果 s 不为空那么再判断 and 后面的 len(s.strip()) ,所以最终结果一定是一个值,而不是两个值。主要因为,Python把0、空字符串''和None看成 False
2018-07-20
最赞回答 / qq_终与你_1
我是这么理解的啊,新手交流,不知道理解的对不对fs是三个返回函数的集合,f1, f2, f3 = count()是将f1,f2,f3指向fs的三个值(也就是f()函数),f1的时候i是1,但是返回的值是i*i(没有计算),f2的时候i是2,返回的仍然是i*i,f3的时候i是3,返回的还是i*i,这时候i已经是3了,等到print f1(), f2(), f3()的时候,f()函数开始计算值,只能返回3*3了,所以结果就是,9,9,9
2018-07-20
最新回答 / kirito_yes
不是的哦,实例里的闭包函数为什么i已经变成3,那是调用count()时,里面的f()函数已经执行完毕,而问答中的f()为什么能够一个一个执行变成1,4,9这样的结果,是因为f()返回的是函数而不是结果,所以在调用count()时,f()函数处于未执行状态。区别就在这两个地方:<...图片...><...图片...>
2018-07-19
最赞回答 / I_am_东风98K
class Person(object): def __init__(self, name, score): self.name = name self.__score = scorep = Person('Bob', 59)try: print p.name print p.__scoreexcept AttributeError: print p.name print 'attributeerror'这样就可以通过了,捕获异常并且输出异常名...
2018-07-19
最新回答 / 疯狂的王
print filter(lambda s: s if len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])这里不能用if , 这种写法的逻辑是if如果满足为真就返回s。但是filter()函数里面包含两个参数,第一个是一个判断语句,第二个是一个list如果第一个参数返回了s,肯定出现语法错误
2018-07-19
最新回答 / 慕虎9378224
课程中Rational表示有理数,所有有理数都也可以写成分数形式,p代表分子,q代表分母,在这个基础上讨论四则运算,你这里的Rational定义的类具体代表什么对象呢?aa,bb,cc分别想表示什么意思呢,只有先确定了对象才的意义能讨论对象的运算。
2018-07-19