看板 Python 關於我們 聯絡資訊
感謝各位的解答, 我會再拜讀各位的解法, 附上我用遞迴解開原文問題中以5當作進位的排列組合, 但這個做法可能會違反python預設的遞迴次數... 故開頭需要設定遞迴的天花板, #!/usr/bin/python import os import sys sys.setrecursionlimit(1000000) #設定遞迴天花板 Rams=[1,2,3,4,5] Sample=[1,1,1,1,1] def processElement(N): if Sample[N]==5: if Sample.count(5)==5: print(Sample) return if N-1<len(Sample): if Sample[N+1]==4: return processElement(N+1) Sample[N+1]=Rams[Rams.index(Sample[N+1])+1] print(Sample) for index in range(N,-1,-1): Sample[index]=1 if N>-1: return processElement(N) if N>0: return processElement(N-1) print(Sample) Sample[N]=Rams[Rams.index(Sample[N])+1] return processElement(N) if __name__=='__main__': processElement(len(Sample)-1) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.83.77 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1571247201.A.E62.html ※ 編輯: Dong0129 (220.137.83.77 臺灣), 10/17/2019 01:34:25