如何在Python中验证用户输入

3
我是初学者,正在学习Python,并尝试找出如何验证用户输入的方法。我想要求用户提交一个DNA序列并验证它是否为DNA序列。合法的输入可以包含大写或小写的ATCG和空格,但我不确定该如何实现。
目前,我可以请求输入,但无法验证它。
import sys
Var1 = raw_input("Enter Sequence 1:")

我想要做的事情类似于以下操作: ```html

我想要做的事情

```
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或空格。

2个回答

4
您可以使用 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"

太好了,运行得很棒!非常感谢! - scooterdude32
作为最佳实践,sys.exit 应该有一个非零的退出代码参数,因为程序没有成功。 - jpmc26
@jpmc26 - 很好的观点。我更新了我的帖子。 - user2555451

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接