关于迭代问题中 reverse()使用
代码如下:
def reverse(s):
if s == "":
return s
else :
return reverse(s[1:])+s[0]
str = input ('shuru:')
print(reverse(str))
其中标黄处不理解如此设置的原因,为什么要把字符串切开.
改写成return reverse(s) 报错原因为:超过最大递归深度
原因是在标黄出对字符串进行了处理 每次较小一个字符,最终以达到递归的效果.
改写之后则无递归过程 而无限循环反转过程.