1 #題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來。
成都創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。10年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營銷服務(wù)商,為您提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、HTML5建站、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、微信小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。代碼:
2 3 li = list(input('請輸入5個(gè)字符:')) 4 n = len(li) 5 i = 0 6 7 def order(li,n,i): 8 if i <= n-1-i: 9 tmp = li[i] 10 li[i] = li[n-1-i] 11 li[n-1-i] = tmp 12 i += 1 13 order(li,n,i) 14 return(li) 15 16 print(order(li,n,i))運(yùn)行結(jié)果:
[root@HK code_100]# python code_27.py 請輸入5個(gè)字符:abcdefghi123456768 ['8', '6', '7', '6', '5', '4', '3', '2', '1', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'] [root@HK code_100]# python code_27.py 請輸入5個(gè)字符:abcde ['e', 'd', 'c', 'b', 'a'] [root@HK code_100]#代碼解釋:
#思路:遍歷經(jīng)過輸入轉(zhuǎn)換后的列表li,通過三方參數(shù)賦值,將第一個(gè)和最后一個(gè)元素交換位置,然后遞歸新的列表, # 將新列表的第二個(gè)元素和倒數(shù)第二個(gè)元素交換位置,以此類推,全部交換完之后,列表就會(huì)做到反轉(zhuǎn) 2 3 li = list(input('請輸入5個(gè)字符:')) #接收輸入的5個(gè)字符,并且轉(zhuǎn)換成列表 4 n = len(li) #計(jì)算列表長度,以便后面使用 5 i = 0 #定義參數(shù)i為從0開始 6 7 def order(li,n,i): #定義函數(shù)order,傳入三個(gè)參數(shù),li列表,列表長度,列表下標(biāo) 8 if i <= n-1-i: #條件判斷列表正數(shù)元素小于或者等于列表倒數(shù)元素,防止重復(fù)交換位置,因?yàn)槭切∮诨蛘叩扔冢?nbsp;所有列表個(gè)數(shù)是單數(shù)還是雙數(shù)都不受影響 9 tmp = li[i] #從這往后三條是通過三方參數(shù)tmp交換兩個(gè)數(shù)值 10 li[i] = li[n-1-i] 11 li[n-1-i] = tmp 12 i += 1 #正數(shù)元素下標(biāo)依次累加 13 order(li,n,i) #將之前交換完元素的的列表遞歸到這個(gè)函數(shù),傳入新的參數(shù),繼續(xù)計(jì)算,一直到所有元素都有交換 14 return(li) #全部交換完之后返回新的列表 15 16 print(order(li,n,i)) #打印結(jié)果另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。