猿问

当前生成器值可以与之前生成的值交互吗?

我知道yield 会动态生成一个值,据我所知,这意味着它不会将值保留在内存中,因此当前值不应该与最后一个值进行交互。


但我只想确定是这样,有人可以确认是否可能吗?


我将使用5作为number的值。


没有发电机的例子:


def factorial(number):

    result = number

    if number <= 1:

        return 1

    else:

        for x in reversed(range(1, number)): # (4,1) reversed

            result *= x # 5*4*3*2*1

    return result # returns 120

是否可以通过使用 yield 函数来做同样的事情?如何?


谢谢


慕侠2389804
浏览 127回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答