python - 修复 python/Bioinformatics 中的代码

标签 python python-3.x for-loop while-loop bioinformatics

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

  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)组成。怎么了?

最佳答案

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

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

print(protein)

在这里,您创建一个空字符串蛋白质while 循环启动并附加来自 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-...

关于python - 修复 python/Bioinformatics 中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47163992/

相关文章:

Python 单元测试模块抛出 "ModuleNotFoundError: No module named ' tests.test_file'"

javascript - 在循环中使用逻辑运算符会导致矛盾

algorithm - 计算循环的运行时间

Python3 : Collidepoint error in Memory game

用于计算网页中存在的字体标签的 Python 代码

python telnetlib 预期错误 : TypeError: can't use a string pattern on a bytes-like object

python-3.x - 基于 if-then 语句的两个玩家 python Tic-Tac-Toe 程序

java - 返回第一个循环

python - 在 Maya python 中将文件应用为纹理

python - 如何从nginx + Gunicorn后面的X-Forwarded-For获取第一个客户端ip?