Python

[Python] 파이썬 단일, 복수 입력값 받기

민돌v 2021. 10. 20. 15:40

 

파이썬 백준 문제를 풀기위해 사용자에게 입력값을 받아야했다.

파이썬으로 입력값을 받는 방법은 단순하다,

 

 

1. 단순 입력값 받기

text1 = input()

input() 함수를 이용해 사용자에게 입력값을 받을 수 있지만,

이러면 사용자에게 입력받은 모든 값을 문자열로 처리한다.

 

 

2. 숫자 입력받기

num = int(input('숫자를 입력해 주세요 : '))

문자열로 입력받은 수를 정수형 타입으로 변환해서 전환해줍니다.

 

 

3. 여러개의 입력 값 받기

 

#split()은 문자열을 분리한다는 뜻 -> 매개변수로 분리할 기준값을 전달해 줄 수 있다.

st1, st2 = input('문자열을 입력해주세요 : ').split()

split()함수를 이용해 여러개의 값을 받을 수 있습니다.

하지만, 이러한 방법은 사용자에게 받을 값을 정해두고 받기 때문에 만약 사용자가 입력값을 초과하여 3~4개의 값을 입력하면 에러가 발생하게 됩니다.

 

 

4. 여러개의 입력값 정수로 받기

위의 문제를 해결하면서, 여러 입력값을 정수로 받아 봅시다.

split()함수로 리스트에 저장해 준 다음 값을 변수에 저장해줍니다.

num = input().split(' ')

a = int(num[0])
b = int(num[1])

 

 

 

5. 사용자에게 여러개의 입력값 간단하고 우하하게 받기

map() 함수를 이용해 이번에는 조금 더 센스있게 입력값을 받아보겠습니다.

 

map() 

  • map() 함수는 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해서 사용하는 함수입니다.
  • 따라서 여러 개의 데이터를 답고있는 list 나 tuple을 대상으로 주로 사용됩니다.
  • input.split()으로 값을 받으면 list로 저장이되기에 사용이 가능합니다.
>>> a = map(int, input().split())
10 20 (입력)
>>> a
<map object at 0x03DFB0D0>
>>> list(a)
[10, 20]



x = input().split()    # input().split()의 결과는 문자열 리스트
m = map(int, x)        # 리스트의 요소를 int로 변환, 결과는 맵 객체
a, b = m               # 맵 객체는 변수 여러 개에 저장할 수 있음

 

이렇게 한방에 입력과 동시에 문자여을 원하는 자료형으로 입력받을 수 있습니다!

 

굿!