유효한 응답이 제공될 때까지 사용자 입력 요청
프로그래밍에서는 추가 작업을 진행하기 전에 사용자 입력이 유효한지 확인하는 것이 중요합니다. 잘못된 데이터가 허용되면 잘못된 결과나 프로그램 충돌이 발생할 수 있습니다. 사용자 입력 유효성 검사를 처리하고 오류를 방지하기 위한 효과적인 기술을 살펴보겠습니다.
예외 및 반복
한 가지 접근 방식은 try 및 Except 블록을 사용하여 다음과 같은 경우에 발생할 수 있는 오류를 잡는 것입니다. 사용자 입력을 구문 분석합니다. while 루프 내에서 입력 구문 분석 작업을 래핑하면 원하는 기준을 충족할 때까지 계속해서 입력을 요청할 수 있습니다.
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Sorry, I didn't understand that.") continue else: break
사용자 정의 유효성 검사 논리
추가로 예외 처리에 대해서는 자체 유효성 검사 규칙을 구현하여 입력을 확인할 수 있습니다. 예를 들어 음수이거나 특정 범위를 벗어나는 값을 거부할 수 있습니다.
while True: data = input("Pick an answer from A to D:") if data.lower() not in ('a', 'b', 'c', 'd'): print("Not an appropriate choice.") else: break
모든 사례에 대한 오류 처리
포괄적인 입력 검증을 위해 다음을 결합할 수 있습니다. 단일 루프에서 사용자 정의 규칙을 사용한 예외 처리. 이렇게 하면 구문 분석 오류와 유효하지 않은 값이 모두 감지되고 적절하게 처리됩니다.
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Sorry, I didn't understand that.") continue if age < 0: print("Sorry, your response must not be negative.") continue else: break
캡슐화 및 재사용 가능 함수
사용자 입력 유효성 검사가 자주 필요한 경우 , 관련 코드를 별도의 함수로 캡슐화하는 것이 좋습니다. 이를 통해 코드 재사용이 가능하고 입력 수집 프로세스가 단순화됩니다.
def get_non_negative_int(prompt): while True: value = int(input(prompt)) if value >= 0: break return value age = get_non_negative_int("Please enter your age: ")
확장성 및 일반 입력 유효성 검사
개념을 더욱 확장하면 광범위한 범위를 포괄하는 다목적 입력 검증 기능
def sanitised_input(prompt, type_=None, min_=None, max_=None, range_=None): while True: ui = input(prompt) try: if type_ is not None: ui = type_(ui) except ValueError: continue # Perform further validation checks and return valid input if all criteria are met.
일반적인 함정 및 모범 사례
위 내용은 내 프로그램에서 유효한 사용자 입력을 어떻게 보장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!