【发布时间】:2014-12-11 11:43:24
【问题描述】:
在 pyschools 中,我被 2 个递归函数的力量所困
>>> createStars(0) # 2 的 0 = 1 次方 '*' >>> createStars(1) # 2 的 1 = 2 次方 '**' >>> createStars(2) # 2 的 2 = 4 次方 '****' >>> createStars(3) # 2 的 3 = 8 次方 '********'我想要做的如下:
def createStars(x): 如果 x == 0: 返回 '' 别的: 返回 '' * x + createStars(x-1)但是,这似乎是“x”的总和,而不是 2 的幂。 意思是,当 x 大于 2 时,这将中断
我知道如何递归地执行 2 的幂,但不知道在哪里更改才能使 createStars() 工作。
定义功率(x,n): 如果 n == 0: 返回 1 别的: 返回 x * 幂(x,n-1)附言。我知道使用非递归方法很容易解决它。 但想请教如何以递归方式进行操作。
谢谢。
【问题讨论】:
标签: python