Python

[python] 여러 값을 한 줄로 입력 받기

비번변경 2021. 10. 9. 16:25

아래 몇 가지 함수를 이용하면 한 줄로 입력받은 각각의 값을 변수에 저장할 수 있다.

먼저 필요한 함수를 먼저 살펴본다.

 

input()

사용자가 입력한 값을 문자열로 취급하여 변수에 저장할 수 있다.

 

코드

a = input()

# 프롬프트에 메세지 출력
b = input("enter text: ")

 

split()

매개변수로 전달받은 문자열을 기준으로 문자열을 나누어 리스트로 반환한다.

전달받은 문자 값이 없는 경우 스페이스, 탭, 엔터 등의 공백을 기준으로 문자열을 나눈다.

 

 

map(function, interable)

내장 함수로 입력받은 반복 가능한 자료형에 대해 입력받은 함수를 수행하여 반환한다.

보통 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해 사용한다.

map 객체를 반환하기 때문에 객체 내 저장된 값을 출력하기 위해서는 list, tuple 등으로 형변환해야 한다.

 


즉, 한 줄로 입력 받은 문자열을 공백을 기준으로 나눈 후 적절히 형변환하여 저장하면 된다.

이 동작을 코드로 표현하면 아래와 같다. 

# 정수를 입력받는 경우
a, b = map(int, input().split())

입력한 값의 개수가 달라지면 에러가 발생한다. 입력한 값의 개수를 모른다면 map의 결과를 리스트로 변환하여 저장하는 것도 방법이다.

문자열을 그대로 사용하는 경우 형변환은 하지 않아도 될 것 같다.