1. 程式人生 > 其它 >python程式設計基礎,python程式設計入門經典pdf下載

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