Discuss / Python / 练习题

练习题

Topic source

唯情恋昉

#1 Created at ... [Delete] [Delete and Lock User]
# 利用闭包返回一个计数器函数,每次调用它返回递增整数
def createCounter():
    fs = []
    def counter():
        # 每次都在后面加上当前list的长度+1的元素[1]
        fs.append(len(fs) + 1)
        # 返回最后一位元素 1
        return fs[-1]
    return counter

# 测试:
counterA = createCounter()
print(counterA(), counterA(), counterA(), counterA(), counterA()) # 1 2 3 4 5
counterB = createCounter()
if [counterB(), counterB(), counterB(), counterB()] == [1, 2, 3, 4]:
    print('测试通过!')
else:
    print('测试失败!')

  • 1

Reply