Проблема в том, что каждый replace
меняет последний вывод replace
, то есть после запуска .replace('C', 'G')
строка становится "UACC"
, а следующая replace
заменяет все C
в G
, то есть вы получаете UAGG
вместо UACG
. Чтобы исправить это, вы можете использовать от for
l oop до l oop через каждый символ и использовать dictionary
:
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)
Или, используя понимание списка:
def DNA_to_RNA(s):
mask_table = {"A": "U", "T": "A", "C": "G", "G": "C"}
return ''.join([mask_table[char] for char in s])