首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法完成mRNA函数

无法完成mRNA函数
EN

Stack Overflow用户
提问于 2020-03-21 15:29:29
回答 1查看 1.6K关注 0票数 2

这是我正在做的练习:

当给定一个字符串的

代码时,要构建的函数amino_acids必须返回元组和整数的列表。第一个元组必须包含所有的氨基酸,整数必须是不同氨基酸的数目。您可以使用下面的字典来帮助您的函数。函数还必须不包括停止密码。

这就是我写的代码:

代码语言:javascript
复制
def amino_acids(mrna):
    my_string = " "
    my_dict = {'AUG':'Met', 'CCA':'Pro', 'CCU':'Pro'}

    for i in range(len(mrna)):
        my_string += my_dict[mrna[i]]
# your code here
        return

这是我正在犯的错误:

KeyError跟踪(最近一次调用) in

有人能帮我解决我哪里出了问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-21 15:41:46

,有人能帮我解决我哪里出了问题吗?

您的循环for i in range(len(mrna))以及随后在mrna中使用mrna[i]读取的mRNA只查看单个字符。但是,您需要同时查看三个字符,因为每个氨基酸都编码为一个核苷酸三重态。

我试图解释这些评论中所发生的一切:

代码语言:javascript
复制
def amino_acids(mrna):
    protein = ""  # Start with empty protein string
    translation = {"AUG": "Met", "CCA": "Pro", "CCU": "Pro"}  # Which codon translates for which amino acid
    stop_codons = {"UGA"}  # Define stop codons
    while mrna:  # Repeat loop while mRNA isn't exhausted
        codon = mrna[:3]  # Select first three codes
        mrna = mrna[3:]  # Remove current codon from mRNA
        if codon in stop_codons:
            break  # Break loop if triple is a stop codon
        amino_acid = translation[codon]  # Translate codon into its amino acid
        protein += amino_acid  # Add the amino acid to the protein string
    return protein

print(amino_acids("AUGCCACCUUGA"))

其中的指纹:

代码语言:javascript
复制
MetProPro
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60789656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档