def reverse(str_):
tot = ""
if len(str_)==0:
return tot
else:
tot += str_[-1]
return reverse(str_[:-1])
print(reverse("chicken"))
该函数应该返回旧字符串的反向。我无法弄清楚它为什么不起作用。
谢谢,
答案 0 :(得分:0)
您不能在函数的每次递归中更改tot,因为您将其设置为"""""每次递归。试试吧。
def reverse(s):
if s == "":
return s
else:
return reverse(s[1:]) + s[0]
print(reverse("chicken"))
答案 1 :(得分:0)
这里不需要比较""对于S.如果s是""则如果不是s 将返回true。以下代码可以正常工作。
def reverse(s):
return s if not s else reverse(s[1:])+s[0]
如果你只想扭转刺痛并且不想使用内置方法那么你可以使用s [-1 :: - 1]