您好,登錄后才能下訂單哦!
這篇文章主要介紹Python如何實現全排列的打印,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
問題:輸入一個數字:3,打印它的全排列組合:123 132 213 231 312 321,并進行統計個數。
下面是Python的實現代碼:
#!/usr/bin/env python # -*- coding: <encoding name> -*- ''' 全排列的demo input : 3 output:123 132 213 231 312 321 ''' total = 0 def permutationCove(startIndex, n, numList): '''遞歸實現交換其中的兩個。一直循環下去,直至startIndex == n ''' global total if startIndex >= n: total += 1 print numList return for item in range(startIndex, n): numList[startIndex], numList[item] = numList[item], numList[startIndex] permutationCove(startIndex + 1, n, numList ) numList[startIndex], numList[item] = numList[item], numList[startIndex] n = int(raw_input("please input your number:")) startIndex = 0 total = 0 numList = [x for x in range(1,n+1)] print '*' * 20 for item in range(0, n): numList[startIndex], numList[item] = numList[item], numList[startIndex] permutationCove(startIndex + 1, n, numList) numList[startIndex], numList[item] = numList[item], numList[startIndex] print total
以上是“Python如何實現全排列的打印”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。