我正在尝试修复下面的代码。

  from pylab import *
    protein = ''
    amino_acids = ['P', 'G', 'L', 'A']
    while ________:
        protein += choice(amino_acids)

    if len(protein) == 1000:
        print(protein)

我想得到的结果是一个长度为1000的随机蛋白质,由四种给定的氨基酸(P,G,L和a)组成。怎么了?

最佳答案

一个可能的解决方案(除其他外,可能是更蟒蛇)是

from pylab import *
protein = ''
amino_acids = ['P', 'G', 'L', 'A']
while len(protein) <= 1000:
    protein = protein + choice(amino_acids)

print(protein)

在这里,创建一个空字符串proteinwhile循环从amino_acids开始并附加一个随机元素,直到字符串长度达到1000。
一班就可以了
proteins = ''.join([choice(amino_acids) for x in range(1000)])

这里,所谓的list comprehension用于从amino_acids生成1000个选项。1000个元素作为列表存储。应用join将元素折叠到单个字符串。
注意''表示我们不需要氨基酸之间的分隔符。使用例如'-'会导致
L-A-P-G-L-...

08-16 13:48