입력 검증은 사용자에 의존하는 프로그램에서 정확한 데이터 수집을 보장하는 데 중요합니다. 상호 작용. 그러나 예상치 못한 데이터나 유효하지 않은 데이터를 처리할 때는 사용자 입력의 유효성을 검사하는 것이 어려울 수 있습니다. 이로 인해 프로그램이 충돌하거나 잘못된 결과가 발생할 수 있습니다.
가장 일반적인 접근 방식은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!