我想通過使用包含有效輸入字符串的列表來驗證輸入,但我似乎無法讓它正常工作,有什麼幫助嗎?驗證名單
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()
did you mean choice.index [val]? – eran
我懷疑它應該是'choice.index(val)'(與parens,不括號,並尋找'val',不分配給它)。但是那個愚蠢的裸露的'除了:'(絕不會使用BARE EXCEPT!)掩蓋了這個問題。如果except僅針對'ValueError',那麼它不會使用括號引發來掩蓋'TypeError'。當然,它仍然是一個毫無意義的方式來測試('返回val in choice'是正確和簡單的),但這就是原始代碼破壞的原因。 – ShadowRanger