我编写了一些关于在递归函数中收缩字符串的代码
当输入字符串结束时,它返回输出
它在函数中显示正确的东西,但它返回None,而不是answer
def rec_encyption(input, i, cnt, output):
if i + 1 == len(input):
print(output)
return output
elif input[i] == input[i + 1]:
rec_encyption(input, i + 1, cnt + 1, output)
else:
output = output + input[i] + str(cnt)
rec_encyption(input, i + 1, 1, output)
def do_rec_encyption(input):
n = rec_encyption(input + " ", 0, 1, "")
print(n)
return n
print(do_rec_encyption("aaabbcccccca"))
我在VSCode中运行此代码,结果如下:
a3b2c6a1型
没有
没有
这意味着rec_encyption
返回None,而不是'output'
我找不到解决这个问题的原因和方法
在else中使用return
相关问题 更多 >
编程相关推荐