gpt4 book ai didi

python - 我试图替换字符串中的所有字符,但它仍然没有按预期工作?

转载 作者:太空宇宙 更新时间:2023-11-04 11:08:30 25 4
gpt4 key购买 nike

作为函数的一小部分,此代码旨在用“C”替换所有“G”,用“A”替换所有“T”,反之亦然,但它仍然没有按预期工作,它只替换了几个实例而不是全部更换。

dna1.txt = "GGTACGGATG"

file = open('dna1.txt')
contents = file.read()
replaced_contents = (contents.replace('G', 'C').replace('T', 'A',)
.replace('A', 'T').replace('C', 'G'))
print("Complement: {0}" .format(replaced_contents))

最佳答案

您的替补正在与自己战斗。

您的第一个替换成功并将所有“G”替换为“C”:

CCTACCCATC

然后您的第二个替换完成并将所有“T”替换为“A”:

中美商会

然后进行第三次替换并将所有“A”(包括您之前交换为“A”的“T”)替换为“T”:

CCTTCCCTTC

最终替换扫过并将所有“C”(包括您之前交换为“C”的“G”)替换为“G”:

GGTTGGGTTG

这会起作用,但作为免责声明,这是我第一次看 python,这可能不是一段好代码!

contents = "GGTACGGATG"
replaced_contents = ""
for c in contents:
if c == 'G':
replaced_contents += 'C'
elif c == 'C':
replaced_contents += 'G'
elif c == 'T':
replaced_contents += 'A'
elif c == 'A':
replaced_contents += 'T'
else:
replaced_contents += c

print("Complement: {0}" .format(replaced_contents))

输出:补充:CCATGCCTAC

也可以用字典替换来做到这一点:

contents = "GGTACGGATG"
replacement = {
'G':'C',
'C':'G',
'T':'A',
'A':'T'
}
replaced_contents = ""
for c in contents:
replaced_contents += replacement.get(c) or c

print("Complement: {0}" .format(replaced_contents))

关于python - 我试图替换字符串中的所有字符,但它仍然没有按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58848520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com