[Python] 한번에 여러개 입력 받기
July 09, 2024
input 함수를 이용하여, 한번에 여러 데이터를 입력 받는 방법에 대해서 알아보겠습니다.
1. 숫자 여러개를 공백으로 구분하여 입력 받기
입력하는 숫자 간에 공백으로 구분하여 여러 값을 입력할 수 있습니다.
numbers.split()
: 한번에 여러 값을 입력받고 공백으로 문자열 분리list(map(int, numbers.split()))
: 문자열로 된 숫자를 int로 변환하고 다시 리스트에 저장
# 여러 개의 정수를 공백으로 구분하여 입력 받기
numbers = input("여러 정수를 공백으로 구분하여 입력: ")
# 입력 받은 문자열을 공백으로 나눠서 정수 리스트로 변환
integer_list = list(map(int, numbers.split()))
# 결과 출력
print("입력한 정수 리스트:", integer_list)
Output:
여러 정수를 공백으로 구분하여 입력: 1 2 3 4
입력한 정수 리스트: [1, 2, 3, 4]
만약 숫자가 아닌 문자열을 받는다면, 문자열을 int로 변환하는 부분만 제외하고 아래와 같이 구현하시면 됩니다.
# 여러 개의 정수를 공백으로 구분하여 입력 받기
str = input("여러 문자열 공백으로 구분하여 입력: ")
# 입력받은 데이터를 공백으로 분리하여 리스트 변환
integer_list = str.split()
# 결과 출력
print("입력한 문자열 리스트:", integer_list)
Output:
여러 문자열 공백으로 구분하여 입력: aa bb cc dd
입력한 문자열 리스트: ['aa', 'bb', 'cc', 'dd']
2. 여러 줄에 걸쳐 입력 받기
한줄에 여러 값을 전달하는 것이 아니고, 한줄에 하나의 데이터만 전달하고 대신 여러 줄에 걸쳐 여러 데이터를 전달하는 방식입니다.
아래와 같이 반복문으로 input()
을 여러번 호출하여 여러 데이터를 받습니다. 그리고 마지막에 end
라는 키워드를 입력했을 때 반복문을 탈출하여 입력받는 것을 종료합니다.
# 여러 줄에 걸쳐 입력 받기
lines = []
print("여러 줄에 걸쳐 입력을 하고, 마지막에 'end'를 입력하세요.")
while True:
line = input()
if line == 'end':
break
lines.append(line)
# 입력 받은 내용 출력
print("입력한 내용:")
for line in lines:
print(line)
Output:
여러 줄에 걸쳐 입력을 하고, 마지막에 'end'를 입력하세요.
aa
bb
cc
dd
end
입력한 내용:
aa
bb
cc
dd
3. 문자열 여러개를 쉼표로 구분하여 입력 받기
공백으로 구분하는 것과 동일하게, 쉼표로 여러 데이터를 구분하여 입력 받고 쉼표로 문자열을 분리하여 처리하는 방식입니다.
input_str.split(',')
: 문자열을','
로 분리하여 리스트로 리턴
input_str = input("여러 개의 문자열을 쉼표로 구분하여 입력: ")
string_list = input_str.split(',')
print("입력한 문자열 리스트:", string_list)
Output:
여러 개의 문자열을 쉼표로 구분하여 입력: aa,bb,cc,dd
입력한 문자열 리스트: ['aa', 'bb', 'cc', 'dd']