费波拉且数的算法如图所示:
所以a和b分别保存了前两次的结果,每次for循环调用generator都从yield这一行代码恢复然后进行a, b = b, a+b操作。然后判断a是否小于等于n决定返回结果。
如果不用coroutine.wrap,我们可以这样写,效果是一样的,代码稍显啰嗦:
费波拉且数的算法如图所示:
所以a和b分别保存了前两次的结果,每次for循环调用generator都从yield这一行代码恢复然后进行a, b = b, a+b操作。然后判断a是否小于等于n决定返回结果。
如果不用coroutine.wrap,我们可以这样写,效果是一样的,代码稍显啰嗦:
发表回复