0
def reverse(str_):
tot = ""
if len(str_)==0:
return tot
else:
tot += str_[-1]
return reverse(str_[:-1])
print(reverse("chicken"))
函數應返回舊字符串的反轉。我不知道爲什麼它不工作。如何使用遞歸
謝謝
def reverse(str_):
tot = ""
if len(str_)==0:
return tot
else:
tot += str_[-1]
return reverse(str_[:-1])
print(reverse("chicken"))
函數應返回舊字符串的反轉。我不知道爲什麼它不工作。如何使用遞歸
謝謝
,因爲你將它設置爲「」每一個遞歸你不能改變TOT在功能不會有所需數據的每一個遞歸。像這樣嘗試。
def reverse(s):
if s == "":
return s
else:
return reverse(s[1:]) + s[0]
print(reverse("chicken"))
這裏沒有必要比較「」爲S.只是如果不是S將如果s返回true「」。下面的代碼將正常工作。
def reverse(s):
return s if not s else reverse(s[1:])+s[0]
如果你只是想扭轉刺痛,不希望使用內置的方法,那麼你可以使用S [-1 :: - 1]
因爲您沒有使用'tot'在else部分中返回語句。 – Bunyk