Python 验证列表
我试图通过使用一个列表来验证输入,该列表包含有效输入的字符串,但我似乎无法使其正常工作,有什么帮助吗Python 验证列表,python,list,python-3.x,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 = choi
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()
这是你想要的吗?这将根据
val
的成员检查输入。如果条目位于VAL中,它将接受该条目
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()
我对你的问题有点困惑,但我希望这能有所帮助。这就是你想要的吗?这将根据
val
的成员检查输入。如果条目位于VAL中,它将接受该条目
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()
您的问题让我有点困惑,但我希望这能有所帮助。验证中不需要异常,只需使用
中的操作符检查列表是否包含元素:
def validate(val):
if val in choice: # checks if the value is in the list.
return True
在validate()
中不需要else子句,因为函数将返回None
,其计算结果将为False
为了更好地执行此操作,只需返回元素(该元素将再次计算为True
):
验证中不需要异常,只需使用
中的操作符检查列表是否包含元素:
def validate(val):
if val in choice: # checks if the value is in the list.
return True
在validate()
中不需要else子句,因为函数将返回None
,其计算结果将为False
为了更好地执行此操作,只需返回元素(该元素将再次计算为True
):
你能试着用下面的方法看看它是否适合你吗
def validate(val):
if val in choice
return True
return False
显式返回False
以非常清楚函数的作用,您可以不使用该函数您是否可以尝试使用以下命令,看看它是否适合您
def validate(val):
if val in choice
return True
return False
显式返回False
是为了非常清楚函数的作用,您可以不使用它试试这一行
def validate(val):
return val in choice
你可以这样做:
test = inputFromUser()
print validate(test) and "Entered " + test or "Did not enter a valid value"
试试这一行
def validate(val):
return val in choice
你可以这样做:
test = inputFromUser()
print validate(test) and "Entered " + test or "Did not enter a valid value"
你是说choice.index[val]?我想应该是choice.index(val)
(用括号,而不是括号,寻找val
,而不是赋值给它)。但是那种白痴的bareexcept:
(永远不要使用bare-except!)掩盖了这个问题。如果except仅针对ValueError
,则它不会使用括号掩盖TypeError
。当然,这仍然是一种毫无意义的测试方式(在choice中返回val既正确又简单),但这就是原始代码中断的原因。你是指choice.index[val]吗?我怀疑它应该是choice.index(val)
(使用括号,而不是括号,并查找val
,而不是分配给它)。但是那种白痴的bareexcept:
(永远不要使用bare-except!)掩盖了这个问题。如果except仅针对ValueError
,则它不会使用括号掩盖TypeError
。当然,这仍然是一种毫无意义的测试方式(选择中返回val
正确且更简单),但这就是原始代码中断的原因。是的,谢谢,对不起,我是python新手,所以这可能应该相对简单。谢谢,对不起,我是python新手,所以这可能应该相对简单