想要使用 RECURSION 更快的解决方案
Want a quicker solution using RECURSION
问题:有些人喜欢用“LOL”这个词向互联网聊天室发送垃圾邮件。这通常会惹恼其他一些用户,他们
将通过宣布“再来一个 LOL,我就出局”来回应。还有一些用户会通过发布“再来一个
‘再来一个 LOL,我就出局’,然后我就出局”,等等,嵌套越来越多的“再来一个{X},我就出局”。
完成递归 lol() 函数,该函数采用正(非零)整数参数表示嵌套级别
(“再来一个LOL我就出局”代表一层嵌套)。函数 returns 是一个字符串,其中包含适当的 -
上面字符串的嵌套版本。例如,lol(3) 会 return 字符串(再一再再一再 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)
我想看一个使用递归的解决方案。然后我很想知道最有效的解决方案。谢谢!
def f(levels_left):
if levels_left==0:
return 'LOL'
return 'One More ' + f(levels_left-1) + ' And I\'m Out'
不是递归的,但它仍然不需要任何列表:
def lol(y):
return 'One more ' * y + 'LOL' + ' and I \'m out' * y
print (lol(3))
输出:
One more One more One more LOL and I 'm out and I 'm out and I 'm out
问题:有些人喜欢用“LOL”这个词向互联网聊天室发送垃圾邮件。这通常会惹恼其他一些用户,他们 将通过宣布“再来一个 LOL,我就出局”来回应。还有一些用户会通过发布“再来一个 ‘再来一个 LOL,我就出局’,然后我就出局”,等等,嵌套越来越多的“再来一个{X},我就出局”。 完成递归 lol() 函数,该函数采用正(非零)整数参数表示嵌套级别
(“再来一个LOL我就出局”代表一层嵌套)。函数 returns 是一个字符串,其中包含适当的 - 上面字符串的嵌套版本。例如,lol(3) 会 return 字符串(再一再再一再 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)
我想看一个使用递归的解决方案。然后我很想知道最有效的解决方案。谢谢!
def f(levels_left):
if levels_left==0:
return 'LOL'
return 'One More ' + f(levels_left-1) + ' And I\'m Out'
不是递归的,但它仍然不需要任何列表:
def lol(y):
return 'One more ' * y + 'LOL' + ' and I \'m out' * y
print (lol(3))
输出:
One more One more One more LOL and I 'm out and I 'm out and I 'm out