我需要完成代码,以便创建一个脚本来计算dna片段中的核苷酸。我都不知道该怎么开始。你知道吗
以下是练习:
上面,我们手工创建了counts
字典。替换下面代码片段中的uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。你知道吗
dna = 'AGGTCCCAATGA'
counts = ____
for nucleotide in dna:
counts[____] = ____
for nucleotide in counts:
print(f'{____} occurs {____} times')
在第二行,你想要一本空字典,如果你想到你是如何得到一个空列表或集合的,你对dict的猜测是什么?如有必要,请检查文档。你知道吗
这是一个有点令人困惑的问题。这意味着您需要一个空的
dict
,但是空的dict
对于后面的代码来说并不适用。有多种可能的答案。你知道吗在我认为最好的答案中,你不想要一个实际的空的
dict
,而是一个以每个核苷酸的零计数开始的。这是因为下面循环的目的是将计数相加。要获得所有零计数,请使用这是因为你知道有四种可能的核苷酸:
A, C, G, T
。你能从那里继续吗?你知道吗还有一种选择:
或者
然后,可能需要使用
dict
的get
方法或if
三元运算符使下一行的空格更复杂。这比你需要的要复杂得多。另外,如果一个核苷酸不在字符串中,那么它将不会被打印在输出中,而问题似乎希望看到计数为零。你知道吗另一种解决方案是使用Python的
defaultdict
类,但这似乎不适合您的问题,因为它提到了dict
,并且没有为您提供导入该类的空间。你知道吗另一种选择,最简单的方法是使用
Counter
对象。但这需要对代码进行完全重写,尽管最终结果是最简单的。你知道吗还有其他替代方案,其中大多数都需要更改代码。你知道吗
创建一个字典(counts),然后检查该字母是否在字典中。如果是,则增加值(+=),否则将值初始化为1。然后打印结果。你知道吗
结果:
非常类似于下面的解决方案。你知道吗
相关问题 更多 >
编程相关推荐