python密码转换器输入检查
我陷入了密码子翻译程序的错误检查中,该程序将密码子翻译成相应的氨基酸。我在字典里有密码子表。现在我想检查两个不同的输入错误:python密码转换器输入检查,python,input,Python,Input,我陷入了密码子翻译程序的错误检查中,该程序将密码子翻译成相应的氨基酸。我在字典里有密码子表。现在我想检查两个不同的输入错误: 像“JFK”这样的输入应该显示一个错误,表明它不是密码子 像“JF”这样的输入应该显示一个错误,表明它不是密码子,也不是三个碱基的代码 如果你在字典里有密码子,你可以试着查找潜在的密码子,并抓住由此产生的错误 def check_codon(codon): try: acid = codonTable[codon] except KeyEr
如果你在字典里有密码子,你可以试着查找潜在的密码子,并抓住由此产生的错误
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"
我相信这应该行得通。请阅读以下内容:哈希表是什么样子的?为什么
“JFK”
不是密码子?确定这一点的规则是什么?我认为一般的Python程序员对DNA测序/分析不太熟悉。如何确定并不重要,他有一个有效的翻译表,如果不在表中,则无效。@Perkins好的,那么这就是确定有效性的规则。他应该说,@user1691379那么请投票接受这个答案。你还应该回答人们提出的后续问题。应该是如果len(密码子)!=3:密码子都是3个碱基对序列。
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]