我被困在密码子翻译器的错误检查中,该翻译器将密码子翻译成相应的氨基酸。我在字典中有密码子表。现在我想检查两个不同的输入错误:
- 像“JFK”这样的输入应该显示一个错误,表明它不是密码子
- 像“JF”这样的输入应该显示一个错误,表明它不是密码子,也不是三碱基代码。
codon = raw_input()
if len(codon) != 3:
print "Not a codon/3 letter based."
elif codon not in codonHash:
print "Not a codon"
else:
acid = codonHash[codon]
我相信这应该有效。
如果您的字典中有密码子,您可以尝试查找潜在的密码子并捕获由此产生的错误。
def check_codon(codon):
try:
acid = codonTable[codon]
except KeyError:
if len(codon) != 3:
return "Not a codon, not a three-base code"
else:
return "Not a codon"
>>> print check_codon("JFK")
"Not a codon"
>>> print check_codon("JK")
"Not a codon, not a three-base code"