Discuss / Python / 来个不一样的

来个不一样的

Topic source
def createCounter():
    def seed():
        s = 0
        while True:
            s+=1
            yield s
    _iter = seed()
    def counter():
        return next(_iter)
    return counter

 def createCounter():
    def counter():
        j = 0
        while 1:
            j = j + 1
            yield j
    def ref():
        return next(counter())
    return ref

兄弟,你看我这样调用这个函数为啥不能自增?返回的五个数都是1

Kitaoo

#3 Created at ... [Delete] [Delete and Lock User]

你是next中又调用了一次counter,而调用一次counter返回一个生成器,每个生成器的next都是1


  • 1

Reply