콘텐츠로 건너뛰기

파이썬을 사용하여 정수 입력 받는 방법

[

파이썬에서 정수 입력받기

파이썬으로 대화형 텍스트 기반 애플리케이션을 개발한 적이 있다면, 아마도 사용자로부터 입력받는 정수에 대한 신뢰할 수 있는 방법이 필요하다는 것을 알게 되셨을 것입니다. 단순히 프롬프트를 표시한 후 키보드 입력을 받는 것으로는 충분하지 않습니다. 입력값이 실제로 정수를 나타내는지 확인해야 합니다. 그렇지 않으면 코드는 대개 프롬프트를 반복하는 방식으로 적절하게 반응해야 합니다.

본 튜토리얼에서는 대화형 사용자로부터 유효한 정수 입력을 보장하는 재사용 가능한 유틸리티 함수를 생성하는 방법에 대해 배우게 될 것입니다. 이 과정에서 콘솔에서 문자열을 가져와 해당 문자열을 정수로 변환하는 파이썬의 도구에 대해 알아볼 것입니다.

키보드와 상호 작용하는 프로그램을 작성하는 경우, 사용자의 잘못된 입력을 처리하기 위해 방어적인 코드를 작성해야 합니다. 이 상황에 대해 가장 파이썬스럽게 처리하는 방법도 배우게 될 것입니다. 정수만 반환하는 것이 보장된 함수 내에서 오류를 견고하게 처리할 것입니다.

파이썬에서 정수 입력값을 가져오는 방법

Python 2의 input() 함수에 주의해야 하는 이유 보기/감추기

이 문제 때문에 Python 2는 raw_input() 함수를 더 안전한 대안으로 제공했지만, 경고 없이 프로그래머가 더 명확하게 명명된 input()을 선택할 수도 있을 위험이 있었습니다.

Python 3에서는 raw_input()input()으로 이름을 변경하고 오래된, 위험한 버전의 input()을 제거했습니다. 이 튜토리얼에서는 Python 3를 사용하므로 이러한 문제는 걱정하지 않아도 됩니다.

Python

>>> number_as_string = input("정수를 입력하세요: ")
정수를 입력하세요: 123
>>> number_as_integer = int(number_as_string)
>>> print(f"정수의 값은 {number_as_integer}입니다.")
정수의 값은 123입니다.

복사했습니다!

위의 코드 조각이 실행되면, 인터프리터는 input() 함수에서 일시 중지하고 사용자로부터 정수를 입력하도록 프롬프트합니다. 프롬프트 끝에 깜박이는 커서가 나타나며, 시스템은 사용자가 임의의 문자열을 입력하도록 대기합니다.

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

다음 줄에서 number_as_string을 정수로 구문 분석하고 결과를 number_as_integer에 저장합니다. 변환을 수행하기 위해 int() 클래스 생성자를 사용합니다. 마지막으로, print() 함수가 결과를 표시합니다.

잘못된 입력 처리

위의 코드가 꽤 낙관적입니다. 당연히 모든 사용자 입력이 올바른 정수를 나타내는 것은 아닙니다.