輸入驗證對於確保依賴使用者的程式中準確收集資料至關重要交互作用。然而,在處理意外或無效資料時,驗證使用者輸入可能具有挑戰性。這可能會導致程式崩潰或不正確的結果。
最常見的方法是使用帶有 try 和 except 區塊的 while 迴圈來處理解析時引發的異常輸入。例如:
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Invalid input. Please enter a valid age:") continue else: break
如果您需要超出Python 處理範圍的更具體驗證,您可以實現自訂邏輯:
while True: data = input("Please enter a loud message (must be all caps): ") if not data.isupper(): print("Input must be all caps. Please enter a loud message:") continue else: break
結合這兩種解決方案提供了管理的靈活性不同的驗證要求:
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Invalid input. Please enter a valid age:") continue if age < 0: print("Age cannot be negative. Please enter a valid age:") continue else: break
如果需要一致地驗證多個輸入,請考慮建立可重複使用函數:
def get_valid_input(prompt, type_=int, min_=None, max_=None, range_=None): while True: try: value = type_(input(prompt)) except ValueError: print("Invalid input. Please enter a valid value:") continue if min_ is not None and value < min_: print("Value must be greater than or equal to {}. Please enter a valid value:".format(min_)) continue elif max_ is not None and value > max_: print("Value must be less than or equal to {}. Please enter a valid value:".format(max_)) continue elif range_ is not None and value not in range_: print("Value must be in the range {}. Please enter a valid value:".format(range_)) continue else: return value
透過實現這些技術,您可以確保您的程式妥善處理使用者輸入,防止崩潰並收集準確的資料。
以上是如何確保我的程式能夠妥善處理無效的使用者輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!