我被要求创建一个程序,完成后我要制作它的递归版本。它没什么,它把绳子系在一起。这是我写的它的版本,谁能告诉我如何用它制作一个递归程序?
def laceStrings(s1, s2):
"""
s1 and s2 are strings.
Returns a new str with elements of s1 and s2 interlaced,
beginning with s1. If strings are not of same length,
then the extra elements should appear at the end.
"""
join = []
smaller = min(s1, s2, key=len)
for num in range(len(smaller)):
join.append(s1[num])
join.append(s2[num])
join = ''.join(join)
if len(s1) != len(s2):
smaller = len(smaller)
join = join + max(s1, s2, key=len)[smaller:]
return join
编辑:我的朋友给了我这个模板,但我仍然无法弄清楚。任何人都可以帮忙吗?
def laceStringsRecur(s1, s2):
"""
s1 and s2 are strings.
Returns a new str with elements of s1 and s2 interlaced,
beginning with s1. If strings are not of same length,
then the extra elements should appear at the end.
"""
def helpLaceStrings(s1, s2, out):
if s1 == '':
#PLACE A LINE OF CODE HERE
if s2 == '':
#PLACE A LINE OF CODE HERE
else:
#PLACE A LINE OF CODE HERE
return helpLaceStrings(s1, s2, '')