如何解决递归调用中的索引超出范围
当我尝试多次调用函数时,索引超出范围。我是编程新手,无法弄清楚为什么或如何解决它。 在以下情况下,代码可以正常工作:
if n == 9:
return strng
这是我的代码:
def swap(n,strng): # helper
s = ""
for i in range(len(strng)):
s += strng[i-n]
return s
def encode(n,strng):
temp_lst = []
result = ""
space_idx = [i for i in range(len(strng)) if strng[i] == " "]
if n == 8: # works when 9
return strng
temp_lst.extend(encode(n-1,swap(n,"".join(strng.split()))))
for insert_idx in space_idx:
temp_lst.insert(insert_idx," ")
for i in "".join(temp_lst).split():
result += encode(n-1,swap(n % len(i),i))
result += " "
return result
print(encode(10,"the quick brown fox jumps over the lazy dog."))
提前感谢,如果您需要更多信息,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。