擅长:python、mysql、java
<p>一般来说,可以选择将一个附加参数传递到递归函数中,该函数不变地向下传递到递归的深层嵌套中。您还可以使用内部函数,该函数始终可以访问外部函数的参数:</p>
<pre><code>def shift_cipher_noloop(original):
def encrypt_recursion(plain):
encrypted = ""
if plain == "":
encrypted = ""
elif len(plain) > 3:
encrypted += plain[3]
encrypted += encrypt_recursion(plain[1:])
else:
encrypted += original[3-len(plain)]
encrypted += encrypt_recursion(plain[1:])
return encrypted
return encrypt_recursion(original)
shift_cipher_noloop('abcdefghijklop')
'defghijklopabc'
</code></pre>