中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【python】編程語言入門經典100例--27

發布時間:2020-02-27 20:35:50 來源:網絡 閱讀:553 作者:snc_snc 欄目:開發技術

  1 #題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。


代碼:


  2 
  3 li = list(input('請輸入5個字符:'))
  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))


運行結果:


[root@HK code_100]# python code_27.py 
請輸入5個字符: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個字符:abcde
['e', 'd', 'c', 'b', 'a']
[root@HK code_100]#


代碼解釋:


 #思路:遍歷經過輸入轉換后的列表li,通過三方參數賦值,將第一個和最后一個元素交換位置,然后遞歸新的列表,
 #     將新列表的第二個元素和倒數第二個元素交換位置,以此類推,全部交換完之后,列表就會做到反轉
  2 
  3 li = list(input('請輸入5個字符:'))        #接收輸入的5個字符,并且轉換成列表
  4 n = len(li)                                #計算列表長度,以便后面使用
  5 i = 0                                      #定義參數i為從0開始
  6 
  7 def order(li,n,i):                         #定義函數order,傳入三個參數,li列表,列表長度,列表下標
  8     if i <= n-1-i:                         #條件判斷列表正數元素小于或者等于列表倒數元素,防止重復交換位置,因為是小于或者等于, 所有列表個數是單數還是雙數都不受影響
  9         tmp = li[i]                        #從這往后三條是通過三方參數tmp交換兩個數值
 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))                       #打印結果


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

望谟县| 黄大仙区| 南丹县| 香格里拉县| 丰台区| 兴国县| 慈溪市| 永胜县| 卢湾区| 丰都县| 山阴县| 高州市| 兴义市| 金沙县| 手游| 抚州市| 西平县| 阿坝县| 蒲城县| 丰镇市| 安徽省| 永新县| 张家港市| 林西县| 阜新市| 饶河县| 双城市| 阜平县| 乌鲁木齐市| 从江县| 闽侯县| 称多县| 台州市| 石林| 方城县| 昔阳县| 成武县| 新和县| 阳高县| 胶南市| 邵阳县|