想要使用RECURSION更快的解决方案

Gen*_*laj -2 python recursion coding-efficiency

问:有些人喜欢用单词"LOL"垃圾邮件互联网聊天室.这通常会使一些其他用户感到恼火,他们将通过宣布"再多一次LOL和我出局"作出回应.还有其他用户会通过发布"再多一个LOL而我已经出局'并且我已经出局"来模仿这个回应,等等,嵌套越来越多的层次"再多一个{X}我就出局了".完成递归lol()函数,该函数采用表示嵌套级别的正(非零)整数参数

("另外一个LOL,我出去了"代表一个级别的嵌套).该函数返回一个字符串,其中包含上面字符串的适当嵌套版本.例如,lol(3)会返回字符串(再多一个LOL,我出去了,我出去了,我出去了).

我的解决方案

def lol(y):
middle = "LOL"
part1 = " One more "
part2 = " and I'm out"
templist = []
answer = ""
if y == 0:
    print ("LOL")
else:
    for i in range(y):
        middle = middle + part2
    for j in range(len(middle)):
        templist.append(middle[j])
    templist.reverse()
    for k in range (y):
        templist.append(part1)
    templist.reverse()
    for h in range(len(templist)):
        answer = answer + templist[h]
print (answer)
Run Code Online (Sandbox Code Playgroud)

我想看一个使用递归的解决方案.然后我很想看到最有效的解决方案.谢谢!

Kyl*_*yle 5

def f(levels_left):
    if levels_left==0:
        return 'LOL'
    return 'One More ' + f(levels_left-1) + ' And I\'m Out'
Run Code Online (Sandbox Code Playgroud)