作者incisive (中肯!)
看板Python
标题Re: [问题] 排列组合
时间Fri Oct 24 22:28:10 2008
感谢ykjiang的推文
不过 後来我还是用小学的短除法来写
贴上来自问自答一下 XD
dna='ATCG'
mlength=8
for i in range(4**mlength):
seq = dna[i%4]
q = i/4
while (q >= 4):
seq = seq + dna[q%4]
q = q/4
else:
seq = seq + dna[q]
seq = seq[::-1]
r = mlength-len(seq)
seq = 'A'*r + seq
print seq
※ 引述《ykjiang (York)》之铭言:
: 1. 编码:
: A -> 00
: T -> 01
: C -> 10
: G -> 11
: 2. 计数:
: 从
: 00 00 00 00 00 00 00 00
: 数到
: 11 11 11 11 11 11 11 11
: 注:每加 1 就解码一次
: ※ 引述《incisive (中肯!)》之铭言:
: : 用ATCG排列出所有长度为8的序列组合?
: : 原本想用 1..65536 去 mod 4
: : 把数字转换成4进位
: : 好像又有点复杂
: : 不知道各位有没有比较好的写法?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.70.227
※ 编辑: incisive 来自: 59.117.70.227 (10/24 23:48)