繁体   English   中英

从递归 function 到迭代

[英]From a recursive function to an iterative one

def recursive(n):
"""
recursive function. You have to figure out what the function does.
"""
if n in {2, 4, 6, 8}:
    return True
elif n < 10:
    return False
else: 
    number = str(n)
    q_sum = 0
    for s in number:
        q_sum = q_sum + int(s)
    return recursive(q_sum)

我必须将此代码转换为迭代 function,但我不知道。

尝试在您的问题中解释您尝试过的内容、您理解的内容或您需要帮助的具体内容。 逐字复制你的作业没有帮助!

正如代码注释所暗示的那样,花一些时间弄清楚这个问题中的代码在做什么总是有用的:

  • 用几个不同的 n 值自己逐步完成它
  • 想想基本案例和递归案例是什么
  • 想想它为什么会做它正在做的事情,以及如何以不同的方式实现这一目标

一旦你成功了,研究一些其他经典问题,比如找到斐波那契数列的第 N 个值,或者找到阶乘 - 这些将有一些递归和迭代实现的好例子,你可以并排放置以提供帮助了解如何从一个到另一个 go。

还有很多其他很好的例子可以看看。 慢慢来,做一些挖掘,不要因为花时间分解和完全理解这样的问题而感到难过。

额外链接:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM