콘텐츠로 건너뛰기

파이썬 정수 입력값 사용 방법

[

파이썬 정수 입력받기

파이썬 튜토리얼에 오신 것을 환영합니다! 이 튜토리얼에서는 파이썬에서 정수를 입력 받는 방법에 대해 알아보겠습니다. 사용자로부터 정수를 입력 받는 것은 매우 중요한 작업이며, 올바른 입력을 보장하기 위해 유효성 검사도 필요합니다. 이 튜토리얼에서는 상세하고 실행 가능한 단계별 예제 코드와 이에 대한 설명을 제공합니다.

파이썬에서 정수 입력 받는 방법

파이썬의 표준 라이브러리에는 사용자로부터 문자열 입력을 받는 기본 도구인 input() 함수가 있습니다. 이 함수를 사용하기 전에 파이썬 3 버전을 사용하는지 확인하십시오. 그렇지 않으면 아래 접을 수 있는 섹션을 참고하여 파이썬 2 버전에서의 삽질로부터 자유로워질 수 있습니다.

number_as_string = input("Please enter an integer: ")
number_as_integer = int(number_as_string)
print(f"The value of the integer is {number_as_integer}")

위 코드는 input() 함수에서 일시 중지하고 사용자에게 정수를 입력하도록 요청합니다. 입력 프롬프트 뒤에 깜박이는 커서가 나타나며, 사용자가 임의의 문자열을 입력할 수 있도록 시스템이 기다립니다.

사용자가 Enter 키를 누르면 함수는 줄 바꿈 없이 입력된 문자열을 포함하는 문자열을 반환합니다. 입력값이 문자열임을 상기하기 위해 변수 이름을 number_as_string으로 지정했습니다.

다음 줄은 number_as_string을 정수로 구문 분석하여 결과를 number_as_integer에 저장합니다. 이를 위해 int() 클래스 생성자를 사용합니다. 마지막으로, print() 함수를 사용하여 결과를 출력합니다.

잘못된 입력 처리하기

위의 코드는 항상 올바른 입력을 가정하고 있습니다. 하지만 실제로는 사용자가 잘못된 입력을 할 수 있으므로 이를 처리하는 방법도 알아야 합니다. 일반적인 옵션은 다음과 같습니다:

  1. 사용자가 올바른 정수를 입력할 때까지 계속해서 입력을 요청합니다.
  2. 사용자에게 잘못된 입력을 알리고 다시 입력을 요청합니다.

첫 번째 옵션은 사용자가 올바른 입력을 할 때까지 무한 반복하므로 적절한 시점에서 중단할 방법이 필요합니다. 두 번째 옵션은 사용자에게 메시지를 표시하고 다시 입력을 요청하는 방식입니다.

이러한 옵션 중 어느 것이든 선택할 수 있으며, 상황에 따라 가장 적합한 방법을 선택할 수 있습니다. 다음은 첫 번째 옵션인 무한 반복을 사용하는 코드 예제입니다:

while True:
try:
number_as_string = input("Please enter an integer: ")
number_as_integer = int(number_as_string)
break
except ValueError:
print("Invalid input! Please enter an integer.")

위의 코드에서는 while 루프를 사용하여 사용자가 올바른 정수를 입력할 때까지 계속해서 입력을 요청합니다. try 블록을 사용하여 입력을 읽고 정수로 변환하는 동안 발생하는 ValueError 예외를 처리합니다. 예외가 발생하면 except 블록이 실행되고 사용자에게 “Invalid input! Please enter an integer.”라는 메시지를 표시합니다. 정상적인 입력이 이루어지면 while 루프가 중단되고 프로그램이 진행됩니다.

유효한 정수 필터링하기

위의 코드에서는 잘못된 입력을 처리하는 방법을 다루었습니다. 그러나 종종 필요한 것은 사용자가 유효한 범위 내의 정수를 입력하는 것입니다. 이를 위해 더 많은 유효성 검사를 수행해야 합니다. 필터링을 적용하여 사용자가 유효한 정수를 입력하도록 할 수 있습니다. 다음은 입력한 정수가 0부터 100 사이에 속하는지 확인하는 코드 예제입니다:

while True:
try:
number_as_string = input("Please enter an integer between 0 and 100: ")
number_as_integer = int(number_as_string)
if 0 <= number_as_integer <= 100:
break
else:
print("Invalid input! Please enter an integer between 0 and 100.")
except ValueError:
print("Invalid input! Please enter an integer.")

위의 코드에서는 추가로 if 문을 사용하여 입력한 값이 0부터 100 사이에 속하는지 확인합니다. 만약 속하지 않는다면 “Invalid input! Please enter an integer between 0 and 100.”라는 메시지를 표시합니다.

유효한 정수 입력을 읽는 유틸리티 함수 만들기

위의 예제는 특정한 경우에 사용할 수 있지만, 만약 여러 번 정수 입력을 받아야 한다면 이를 모두 복사하여 사용해야 합니다. 이러한 경우에는 재사용 가능한 유틸리티 함수를 만드는 것이 좋습니다. 다음은 유틸리티 함수를 사용하여 정수 입력을 받는 코드 예제입니다:

def read_integer(prompt: str) -> int:
while True:
try:
number_as_string = input(prompt)
number_as_integer = int(number_as_string)
return number_as_integer
except ValueError:
print("Invalid input! Please enter an integer.")
input_value = read_integer("Please enter an integer: ")
print(f"The value of the integer is {input_value}")

위의 코드에서는 read_integer() 함수를 정의하여 재사용 가능한 유틸리티 함수를 만듭니다. 이 함수는 입력 프롬프트를 인자로 받아서 입력을 요청하고, 올바른 정수가 입력될 때까지 반복해서 입력을 받습니다. 입력이 올바를 때는 해당 값을 반환합니다. 예외가 발생할 때는 “Invalid input! Please enter an integer.”라는 메시지를 표시합니다.

read_integer() 함수를 사용하면 간단하게 정수 입력을 받을 수 있습니다. 마지막으로, input_value 변수에 할당된 값을 출력합니다.

결론

이제 파이썬에서 정수를 입력 받는 방법에 대해 알게 되었습니다. input() 함수를 사용하여 사용자로부터 문자열 입력을 받고, 해당 문자열을 정수로 변환하는 방법을 배웠습니다. 또한, 잘못된 입력을 처리하는 방법과 유효성 검사를 수행하는 방법을 알아보았습니다. 마지막으로, 재사용 가능한 유틸리티 함수를 만들어 복잡한 정수 입력을 간단히 처리하는 방법도 배웠습니다.

다음 단계로는 이를 응용하여 더 복잡한 프로그램을 만들어 볼 것을 권장합니다. 파이썬 공식 문서와 다른 자습서를 찾아보며 성장하고 익숙해지도록 노력해보세요. 파이썬의 무한한 가능성을 이제 시작할 수 있습니다.