如何验证Python中的用户输入



我对Python来说是全新的,我正在尝试弄清楚如何验证用户输入。我想请用户提交DNA序列,并想验证它是DNA序列。可接受的输入可以具有上层或小写的ATCG和空间,我不确定如何做。

到目前为止,我可以要求输入,但不能验证它。

import sys
Var1 = raw_input("Enter Sequence 1:")

我想做类似的事情:

if Var1 != ATCG (somehow put 'characters that match ATCG or space)
    print "Please input valid DNA sequence"
    sys.exit() (to have it close the program)

有帮助吗?我觉得这应该很简单,但是我不知道如何指定它可以是任何ATCG,ATCG或Space。

您可以使用 allstr.lower和生成器表达式:

if not all(x in "agct " for x in Var1.lower()):
    print "Please input valid DNA sequence"
    sys.exit(1) 

在上述代码中,如果Var1中的任何字符不是以下一个:

"A", "T", "C", "G", " ", "a", "t", "c", "g"

也(类似于Python,如何检查字符串是否仅包含某些字符?):

>>> import re
>>> def special_match(strg, search=re.compile(r'[^atcgATCGs]').search):
...   return bool(search(strg))
>>> if (special_match("atcF")):
...   print "Invalid input"
...
>>> Invalid input

相关内容

  • 没有找到相关文章