擅长:python、mysql、java
<p>问题是,每个<code>replace</code>都在更改最后一个<code>replace</code>的输出-这意味着在运行<code>.replace('C', 'G')</code>之后,字符串变成<code>"UACC"</code>,下一个<code>replace</code>将把所有的<code>C</code>替换成<code>G</code>,这意味着您得到的是<code>UAGG</code>,而不是<code>UACG</code>。要解决此问题,可以使用<code>for</code>循环遍历每个字符,并使用<code>dictionary</code>:</p>
<pre><code>def DNA_to_RNA(s):
mask_table = {"A": "U", "T": "A", "C": "G", "G": "C"}
result = []
for char in s:
result.append(mask_table[char])
return ''.join(result)
</code></pre>
<p>或者,使用列表理解:</p>
<pre><code>def DNA_to_RNA(s):
mask_table = {"A": "U", "T": "A", "C": "G", "G": "C"}
return ''.join([mask_table[char] for char in s])
</code></pre>