python程式設計基礎,python程式設計入門經典pdf下載
最近學習Python,網上學習資料挺多的,這篇寫的不錯,關於python程式設計基礎和python程式設計入門經典pdf下載,大家有需要也可以看看。
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)) #列印結果
大家喜歡可以收藏我的部落格:OpenEIM