列表进行验证

时间:2015-10-03 20:37:39

标签: python list python-3.x

我试图通过使用包含有效输入字符串的列表来验证输入,但我似乎无法正常使用它,任何帮助?

choice = ["A","a","B","b"]
def main():
    test = input()
    if validate(test):
        print("Entered a")
    else:
        print("did not enter a")

def validate(val):
    try: 
        val = choice.index[1]
    except:
        return False
    else:
        return True
main()

4 个答案:

答案 0 :(得分:3)

验证时不需要例外,只需使用in运算符检查列表是否包含元素:

def validate(val):
    if val in choice: # checks if the value is in the list.
        return True

validate()中不需要else子句,因为该函数将返回None,它将评估为False

为了使这更好,只需返回元素(将再次评估为True):

choice = ["A","a","B","b"]
def main():
    test = input()
    if validate(test):
        print("Entered " + val)
    else:
        print("Did not enter a valid value")

def validate(val):
    if val in choice:
        return val

答案 1 :(得分:3)

尝试这一个班轮

def validate(val):
    return val in choice

你可以这样做:

test = inputFromUser()

print validate(test) and "Entered " + test or "Did not enter a valid value"

答案 2 :(得分:0)

这是你想要的吗?这将检查val成员的输入。如果条目位于vals,则会接受该条目。

vals = ["a","b","c"]
def main():
    test = input()
    if validate(test):
        print("Valid entry")
    else:
        print("did not enter valid info")
def validate(val):
    for i in vals:
        if val == i:
            return True
    return False
main()

我对你的问题感到有些困惑,但我希望这会有所帮助。

答案 3 :(得分:0)

您可以尝试使用以下内容,看看它是否适合您?

def validate(val):
    if val in choice
         return True
    return False

明确地返回False以明确该功能的作用,你可以没有那个