在不使用任何包的情况下,可以使用递归来解决基因组的组合问题。以下是一个使用递归的示例代码:
def generate_combinations(genes, length, prefix=""):
if length == 0:
print(prefix)
return
for gene in genes:
new_prefix = prefix + gene
generate_combinations(genes, length - 1, new_prefix)
genes = ['A', 'T', 'C', 'G']
length = 3
generate_combinations(genes, length)
以上代码中,genes
是一个包含基因的列表,length
是所需的组合长度。prefix
参数用来存储当前已经生成的组合。在每次递归调用中,我们将当前基因添加到 prefix
中,并将所需组合长度减少 1。当 length
等于 0 时,说明已经生成了一个完整的组合,我们将 prefix
打印出来。
运行以上代码,将会输出基因组的所有组合,例如:
AAA
AAT
AAC
AAG
ATA
ATT
...