第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

斷開一個字符串并反轉(zhuǎn)它的每個元素

斷開一個字符串并反轉(zhuǎn)它的每個元素

嚕嚕噠 2022-10-18 16:50:10
我正在學(xué)習(xí)數(shù)據(jù)和算法,這是我遇到的問題問題:編寫一個簡短的遞歸 Python 函數(shù),它接受一個字符串 s 并輸出它的反向。例如,pots&pans 的反面是 snap&stop 。a="pots&pans"b=a.split("&")c=[]c=list(b)def reverse(data,leng,leng2,index,count):    rev=(leng-1)-count    if count<leng/2:        temp=data[index][count]        data[index][count]=data[index][rev]        data[index][rev]=temp    if index==leng2:        print(data[index-1]+"&"+data[index])    return reverse(data,leng,leng2,index+1,count)reverse(c,4,2,0,0)    我在這里遇到錯誤TypeError: 'str' object does not support item assignment我最初的想法是 str 是不可變的。所以最好將它存儲在一個列表中并進(jìn)行操作。但是,當(dāng)我嘗試將 str 分配給列表時遇到了一些問題。有什么解決辦法嗎?
查看完整描述

3 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗 獲得超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)

如果您希望一次遞歸也反轉(zhuǎn)所有單詞的位置:


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))


查看完整回答
反對 回復(fù) 2022-10-18
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

一種遞歸方法是將第一個字符附加到字符串其余部分的反面:


def rev(s): return rev(s[1:])+s[0] if s else ""

輸出:


rev("pots&pans")


'snap&stop'

您也可以在不使用參數(shù)解包索引的情況下執(zhí)行此操作:


def rev(first,*rest): return rev(*rest)+first if rest else first


rev(*"pots&pans")


'snap&stop'


查看完整回答
反對 回復(fù) 2022-10-18
?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊

嘗試這個:


a="pots&pans"


def reverse(a_string):

    `letter_list = list(a_string)`

    `letter_list.reverse()`

    `return(''.join(letter_list))`


print(reverse(a))


查看完整回答
反對 回復(fù) 2022-10-18
  • 3 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號