본문 바로가기
PL (Programming Language)/Python

[Python] 사용자로부터 여러 입력값 받기 input().split() [feat. 형변환]

by jangThang 2022. 1. 24.
반응형

2022.01.24 - [PL (Programming Language)/Python] - [Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)

 

[Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)

2022.01.23 - [PL (Programming Language)/Python] - [Python] 변수(Variable)와 자료형(Data type) [Python] 변수(Variable)와 자료형(Data type) 2022.01.23 - [PL (Programming Language)/Python] - [Python] p..

star7sss.tistory.com

 파이썬의 사용자 입력함수 input()를 배워보고, split()를 이용해서 여러 값을 한 번에 입력받는 것도 알아보겠습니다. input() 함수는 사용자로부터 입력값을 '문자열'로 받습니다. 이 때문에 필요한 형 변환 기법까지 같이 소개하겠습니다.

 

목차

     

     

     

    1. input()

    input()

     input() 함수를 통해 사용자의 입력값을 받을 수 있습니다.

     

     

     input함수에 사용자에게 입력을 안내할 문구도 추가할 수 있습니다. 타 언어에서는 print 함수를 따로 써서 안내해야했지만, input함수는 그 기능까지 포함하고 있습니다.

     

     

     

    2. split()

     입력받아야 하는 값의 개수만큼, input함수을 사용해야한다면 매우 불편한 일입니다. 하지만 파이썬에서는 split()함수를 통해서 쉽게 여러 값을 입력받을 수 있습니다.

     

     

     

    split(구분자)

     split함수의 기본(default) 구분자는 ' '(공백문자, 스페이스바)이며 띄어쓰기로 값을 구분합니다. 

     

     

     

     쉼표로 구분하고 싶다면, split(',')로 쓰시면 됩니다.

     

     

     

    3. 형 변환

     input() 함수는 사용자의 입력을 '문자열'로 받는 특징이 있습니다. 그 때문에 숫자를 입력해도 '문자열'로 인식하기 때문에 위와 같은 오류가 생깁니다. 따라서 숫자를 input으로 받을 때에는 반드시 형변환(Casting, 캐스팅)이 필요합니다.

     

    2022.01.24 - [PL (Programming Language)/Python] - [Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)

     

    [Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)

    2022.01.23 - [PL (Programming Language)/Python] - [Python] 변수(Variable)와 자료형(Data type) [Python] 변수(Variable)와 자료형(Data type) 2022.01.23 - [PL (Programming Language)/Python] - [Python] p..

    star7sss.tistory.com

    (형 변환에 대해 모르시는 분들은 위 링크를 참조하시기 바랍니다)

     

     

     

     int로 형변환 후 정상적으로 계산된 걸 확인할 수 있습니다.

     

     

     

    4. 백견이 불여일행

     위의 예제를 다시 살펴보겠습니다. split함수를 이용해서 input함수를 한 번만 쓴 건 좋았지만, 이번에는 형변환이 문제입니다. 변수마다 형변환을 하는 건 귀찮은 일입니다.

     

     

    map(함수, 함수에 적용할 인수)

     이 문제는 고차함수(Higher-Order Function) map을 사용하여 해결할 수 있습니다. 고차함수는 '함수'를 파라미터로 받는 함수입니다. map 고차함수를 통해서 여러 개의 인수를 한 번에 함수에 적용할 수 있습니다.

     

     

     

    map(int, input().split())

     파이썬으로 알고리즘 문제를 풀다보면 많이 사용하는 문법입니다. ( input = sys.stdin.readLine() )

     이 외에도 map()은 응용처가 많은 고차함수입니다. map()을 이용해서 다양한 함수를 써보시고, 코드를 덧글로 공유해주세요!

     

     

     

     

    반응형

    댓글