3 回答

TA貢獻2012條經驗 獲得超12個贊
嘗試這個:
a="pots&pans"
b=a.split("&")
def reverse(word):
if not word:
return ""
return reverse(word[1:]) + word[0]
result = reverse(b[1]) + "&" + reverse(b[0])
print(result)
如果您希望一次遞歸也反轉所有單詞的位置:
a="pots&pans&hello&hi"
b=a.split("&")
def reverse(lis):
if not lis:
return ""
if type(lis) == list and len(lis) == 1:
return reverse(lis[0])
if type(lis) == str:
return reverse(lis[1:]) + lis[0]
if type(lis) == list:
return reverse(lis[1:]) + "&" + reverse(lis[0])
print(reverse(b))

TA貢獻1856條經驗 獲得超5個贊
一種遞歸方法是將第一個字符附加到字符串其余部分的反面:
def rev(s): return rev(s[1:])+s[0] if s else ""
輸出:
rev("pots&pans")
'snap&stop'
您也可以在不使用參數解包索引的情況下執行此操作:
def rev(first,*rest): return rev(*rest)+first if rest else first
rev(*"pots&pans")
'snap&stop'

TA貢獻1818條經驗 獲得超7個贊
嘗試這個:
a="pots&pans"
def reverse(a_string):
`letter_list = list(a_string)`
`letter_list.reverse()`
`return(''.join(letter_list))`
print(reverse(a))
添加回答
舉報