我编写了一个脚本,用于水平打印特定输入的答案。
例如,如果输入为:
TTACTGGCAT
应该打印:
TTACTGGCAT
AATGACCGTA
我的代码:
x = 0
n = input("Insert DNA seqence: ")
print(n.upper())
while x < len(n):
if 'T' in n[x]:
print('A')
if 'G' in n[x]:
print('C')
if 'C' in n[x]:
print('G')
if 'A' in n[x]:
print('T')
x = x + 1
答案 0 :(得分:1)
我假设你想做这样的事情:
nucl_dict = {'A':'T', 'T':'A', 'C':'G', 'G':'C'}
n = input("Insert DNA seqence: ").upper()
print(n)
print(''.join(nucl_dict.get(nucl, nucl) for nucl in n))
nucl_dict
定义哪些核苷酸是互补的。
将相应核苷酸的字符连接成一个字符串并打印结果。
如果该字符不是有效的核苷酸,则简单地添加该字符而不更改互补字符串。 get
尝试查找给定第一个参数的值作为键(在本例中为n
中的每个字符),如果键不存在则使用第二个参数(在本例中为相同的字符)。
答案 1 :(得分:0)
你应该在字符串中连接所有内容,并在循环结束后打印它。
答案 2 :(得分:0)
您可以使用end
等print(some_var, end='')
参数在每次通话后不打印结束换行符。在你的循环中你需要打印新行,所以只需在那里运行end
参数。请参阅print documentation。