[python] 파이썬에서 키 입력 범위 제한하기

파이썬에서 사용자로부터 키 입력을 받을 때, 입력된 값에 대한 범위를 제한하고 싶을 때가 있습니다. 예를 들어, 정수 값을 입력받을 때 특정 범위 내의 값만 허용하고 싶은 경우입니다.

이 글에서는 파이썬에서 키 입력의 범위를 제한하는 방법에 대해 알아보겠습니다.

input() 함수 사용하기

파이썬에서 키 입력을 받기 위해서는 input() 함수를 사용합니다. 이 함수는 사용자로부터 문자열 값을 입력받아 반환합니다.

예를 들어, 다음과 같이 코드를 작성하여 사용자로부터 숫자 값을 입력받을 수 있습니다.

num = input("숫자를 입력하세요: ")

그런데, 이렇게 입력받은 값은 문자열 형태로 저장됩니다. 따라서, 만약 사용자로부터 정수를 입력받고 싶은 경우에는 다음과 같이 형변환을 해주어야 합니다.

num = int(input("숫자를 입력하세요: "))

범위 제한하기

이제 키 입력의 범위를 제한하는 방법에 대해 알아보겠습니다. 예를 들어, 사용자로부터 1부터 100까지의 숫자를 입력받고 싶을 때, 입력된 값이 이 범위를 벗어나면 다시 입력을 받도록 처리해야 합니다.

이를 위해 while 루프를 사용하여 입력 값이 주어진 범위에 속할 때까지 반복하여 입력을 받을 수 있습니다.

num = 0
while num < 1 or num > 100:
    num = int(input("1부터 100 사이의 숫자를 입력하세요: "))

위 코드에서는 num 변수를 0으로 초기화하고, 입력된 값이 1부터 100 사이의 숫자가 아니면 다시 입력을 받도록 처리합니다. 입력된 값이 주어진 범위에 속한다면 while 루프에서 나오고, 그 값을 변수 num에 저장합니다.

예외 처리

이렇게 범위를 제한하는 방법도 유효하지만, 입력값이 주어진 조건을 만족하지 않을 경우 에러가 발생할 수 있습니다. 이를 방지하기 위해 예외 처리를 해주는 것이 좋습니다.

예를 들어, 사용자로부터 1부터 100까지의 숫자를 입력받고 싶을 때, try-except 문을 사용하여 예외 처리를 할 수 있습니다.

while True:
    try:
        num = int(input("1부터 100 사이의 숫자를 입력하세요: "))
        if num >= 1 and num <= 100:
            break
        else:
            print("범위를 벗어난 숫자입니다.")
    except ValueError:
        print("숫자를 입력해야 합니다.")

위 코드에서는 무한 루프를 사용하여 입력값이 주어진 범위에 속할 때까지 반복적으로 입력을 받습니다. try-except 문에서는 입력된 값이 정수로 변환될 수 있는지 확인하고, 변환할 수 없는 경우 ValueError 예외가 발생합니다. 이때는 “숫자를 입력해야 합니다.”라는 메시지를 출력합니다.

입력값이 정수로 변환 가능한 경우에는 주어진 범위에 속하는지 확인하고, 범위를 벗어난다면 “범위를 벗어난 숫자입니다.”라는 메시지를 출력합니다.

결론

이렇게 파이썬에서 키 입력의 범위를 제한하는 방법에 대해 알아보았습니다. input() 함수와 while 루프를 이용하여 입력값을 제한할 수 있으며, 예외 처리를 통해 에러를 방지할 수도 있습니다. 이러한 기법들을 활용하여 사용자로부터 올바른 입력을 받을 수 있습니다.

더 자세한 내용은 파이썬 공식 문서를 참조하시기 바랍니다.