如何水平打印而不是垂直打印?

时间:2017-11-15 14:34:04

标签: python python-3.x

我编写了一个脚本,用于水平打印特定输入的答案。

例如,如果输入为:

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

3 个答案:

答案 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)

您可以使用endprint(some_var, end='')参数在每次通话后不打印结束换行符。在你的循环中你需要打印新行,所以只需在那里运行end参数。请参阅print documentation