我试图通过使用包含有效输入字符串的列表来验证输入,但我似乎无法正常使用它,任何帮助?
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()
答案 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
以明确该功能的作用,你可以没有那个