看板 Python 關於我們 聯絡資訊
不用遞迴可以活得更好,尤其在 n 太大(e.g. > 6)的情況: def decode(x,n): s = "" base="ATCG" for i in xrange(n): s += base[x%4] x /= 4 return s def gen(n): for x in xrange(4**n): print decode(x,n), ※ 引述《zhouer ( )》之銘言: : ※ 引述《incisive (中肯!)》之銘言: : : 用ATCG排列出所有長度為8的序列組合? : : 原本想用 1..65536 去 mod 4 : : 把數字轉換成4進位 : : 好像又有點複雜 : : 不知道各位有沒有比較好的寫法? : def gen(n): : if n == 0: : return [''] : else: : return [x + y for x in ['A', 'T', 'C', 'G'] for y in gen(n - 1)] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.19.38 ※ 編輯: ykjiang 來自: 61.59.19.38 (10/25 16:25)