我看到了关于如何在递归函数中保持计数的线程,但我并没有完全遵循答案,而且它似乎也不适用于我正在寻找的东西(至少从我能说的很抱歉,如果这是一个重复的问题!)。我正在编写一段代码来破译 Ceasar 在几个不同位置转移的文本。我已经构建了一个递归函数,它可以很好地移动文本,直到找到正确的移位并返回移位的文本,但我无法让函数返回它迭代的次数。
text_to_shift = apply_coder(text[start:], build_decoder(1))
Ltext = text_to_shift.split()
for w in Ltext:
if is_word(wordlist, w) == True:
text = ' '.join(Ltext)
return text
else:
text = ' '.join(Ltext)
return find_best_shifts_rec(wordlist, text, start)
我可以把它写成一个while循环,但我喜欢我所写的优雅。我倾向于一个全局变量(我将在此之后尝试),但我觉得有更好的解决方案。预先感谢您对我提到的线程中的答案或更好的解释。