How to validate user input in python
本问题已经有最佳答案,请猛点这里访问。
我是python的新手,我正在试图弄清楚如何验证用户输入。 我想要求用户提交DNA序列并想要验证它是DNA序列。 可接受的输入可以有大写或小写的ATCG和空格,我不确定如何做到这一点。
到目前为止,我可以要求输入但不验证它。
1 2 | import sys Var1 = raw_input("Enter Sequence 1:") |
然后我想做一些事情:
1 2 3 | 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或空间。
您可以使用
1 2 3 | if not all(x in"agct" for x in Var1.lower()): print"Please input valid DNA sequence" sys.exit(1) |
在上面的代码中,如果
1 | "A","T","C","G","","a","t","c","g" |
另外(类似于在Python中,如何检查字符串是否只包含某些字符?):
1 2 3 4 5 6 7 | >>> import re >>> def special_match(strg, search=re.compile(r'[^atcgATCG\s]').search): ... return bool(search(strg)) >>> if (special_match("atcF")): ... print"Invalid input" ... >>> Invalid input |