프로그램은 사용자의 특정 문제를 해결하기 위해 작성됩니다. 따라서 프로그램은 사용자와 상호작용할 수 있어야 하며, 이는 곧 사용자로부터 입력을 받아 그에 맞는 작업을 수행해야 한다는 의미입니다.
입력을 받는 방법은 자료형(data type)마다 조금씩 다릅니다. 이 글에서는 파이썬에서 문자열, 정수, 실수 등 다양한 자료형의 입력을 받는 방법과, 배열 형태로 여러 값을 입력받는 방법까지 차근차근 살펴보겠습니다.
1. 문자열(String) 입력 받기
파이썬에서 사용자로부터 문자열 입력을 받을 때는 input() 함수를 사용합니다. 사용자가 숫자를 입력하더라도 기본적으로 모두 문자열로 처리된다는 점에 유의해야 합니다.
입력받은 문자열에는 원하는 로직이나 연산을 적용할 수 있지만, 여기서는 예제의 단순화를 위해 사용자가 입력한 문자열을 그대로 출력해 보겠습니다.
예제
print("문자열을 입력하세요")
a = input()
print("사용자가 입력한 문자열:", a)
실행 결과
문자열을 입력하세요 TutorialsPoint 사용자가 입력한 문자열: TutorialsPoint
위 예제가 실행되면 먼저 "문자열을 입력하세요"라는 메시지가 화면에 출력되고, 사용자가 값을 입력할 수 있게 됩니다. input() 함수가 실행되는 동안 프로그램의 흐름은 일시적으로 멈추며, 사용자가 입력을 마친 후에야 다음 문장인 두 번째 print 문이 실행됩니다.
2. 정수(Integer) 입력 받기
정수 입력은 input() 함수로 받은 값을 타입 변환(type casting)하여 얻을 수 있습니다. 즉, int(input()) 형태로 사용하면 됩니다.
단, 사용자가 숫자가 아닌 값을 입력하면 오류(ValueError)가 발생하므로 반드시 정수 형태의 값만 입력해야 합니다.
예제
print("숫자를 입력하세요")
a = int(input())
print("사용자가 입력한 숫자:", a)
실행 결과
숫자를 입력하세요 10 사용자가 입력한 숫자: 10
3. 실수(Float) 입력 받기
실수 입력 역시 타입 변환을 통해 받을 수 있으며, float(input()) 형태로 사용합니다. 사용자가 정수를 입력하더라도 값은 항상 실수(float)로 처리됩니다.
예제
print("숫자를 입력하세요")
a = float(input())
print("사용자가 입력한 숫자:", a)
실행 결과
숫자를 입력하세요 2.5 사용자가 입력한 숫자: 2.5
4. 정수 배열(Array) 입력 받기
경우에 따라 사용자로부터 여러 개의 값을 배열(리스트) 형태로 입력받아야 할 때가 있습니다. 파이썬에는 배열 입력을 위한 별도의 전용 문법은 없지만, 리스트와 for 반복문을 활용하면 손쉽게 구현할 수 있습니다.
예제
print("요소의 개수를 입력하세요")
a = int(input())
print(a, "개의 정수를 입력하세요")
array = []
for i in range(a):
array.append(int(input()))
print("사용자가 입력한 배열:", array)
실행 결과
요소의 개수를 입력하세요 5 5 개의 정수를 입력하세요 1 2 3 4 5 사용자가 입력한 배열: [1, 2, 3, 4, 5]
위 예제에서는 먼저 배열의 크기를 사용자로부터 입력받습니다. 그다음 빈 리스트를 선언하고, for 반복문 안에서 요소들을 하나씩 입력받아 append() 메서드로 리스트에 추가합니다.
마무리 및 추가 팁
문자열 배열을 입력받고 싶다면 for 반복문 안에서 int(input()) 대신 input()만 사용하면 됩니다.
또한 한 줄에 공백으로 구분된 여러 값을 입력받으려면 input().split()을 활용할 수 있습니다. 예를 들어 list(map(int, input().split()))을 사용하면 "1 2 3 4 5"처럼 한 번에 입력받은 값을 정수 리스트로 변환할 수 있어, 반복문 없이 더 간결하게 처리할 수 있습니다.