오늘은 python의 기본적인 함수인 input 함수에 대해 정리해보겠습니다.
Input 함수
input()함수는 사용자가 컴퓨터에게 키보드로 입력한 정보를 전달해줄 수 있는 역할을 합니다.
다음에 정리할 '변수'라는 것에 input 함수를 지정하면 코드 실행시 내가 입력하는 값이 변수에 할당됩니다.
a = input() # 코드 실행 시, 키보드로 입력 가능
다른 함수들은 코드 실행시 코드를 짠 대로 알아서 동작하지만, input 함수를 사용하면 사용자가 입력할 때까지 동작하지 않고, 또 입력 값에따라 결과가 달라지는 반응형 동작을 하게 됩니다.
입력을 하고나면, 위의 코드에서는 a라는 변수에 입력 값이 저장됩니다.
주의해야할 점은 input함수로 받아들인 문자는 모두 자동으로 문자형으로 적용됩니다.
예를 들면, 위의 코드에서 2를 입력해도 '2'를 입력한 것과 동일하게 적용되기 때문에 사칙연산을 하려면 아래와 같이 함수를 사용해야 합니다.
a = int(input()) # 정수형 변환
b = float(input()) # 실수형 변환
print(a + b)
문자열로 받은 입력 값을 각각 정수와 실수로 변환하였습니다.
이제 세번째 줄을 작성하면 우리가 아는 덧셈을 연산할 수 있습니다.
한 번에 여러 개의 입력값을 받고 싶을 때는 어떻게 해야할까요?
a, b, c = input().split() # 띄어쓰기 기준으로 분할
print(a, b, c, sep='\n')
위와 같이 split이라는 메소드를 붙여주면 가능합니다. 앞의 변수 갯수 만큼 입력이 가능하고, 순서대로 저장됩니다.
코드롤 실행시켜봅시다.
1 2 3 # 입력값
1
2
3
1, 2, 3을 띄어쓰기 기준으로 첫째 줄과 같이 입력하면, 위와같이 출력됩니다.
split()안의 기호는 입력값을 구분하게 해주는 문자를 정합니다. 위와같이 괄호 안에 안 넣으면 공백기준으로 분할되고, 문자를 넣으면 아래와 같이 입력값이 구분됩니다.
a, b, c = input().split(',') # 콤마 기준으로 분할
print(a, b, c, sep='\n')
1,2,3 # 입력값
1
2
3
split 메소드를 써서 여러 개의 입력값들을 한 번에 받을 때, 이 값들은 기본적으로 문자형(string)으로 저장됩니다.
숫자 연산을 하기위해 숫자형으로 지정하려면 map 함수를 사용하면 됩니다.
a, b, c = map(int, input().split()) # input들을 int(정수)로 mapping
print(a, b, c, a+b+c)
1 2 3 # 입력값
1 2 3 6 # 1+2+3=6
이는 input 값들이 기본적으로 리스트로 저장되기 때문인데, 추후 리스트를 정리할 때 map 함수를 한 번 더 정리 해보겠습니다.
한 번에 여러 입력을 받지 않고 차례대로 받으려면 어떻게 할까요?
a = input()
b = input()
print(a, b)
input을 나눠서 지정해주면 됩니다.
똑같이 실행시켜보겠습니다.
1 # 입력값
2 # 입력값
1 2
첫째 줄에 먼저 1을 입력하고, 그러고나서 2를 입력하면 순서대로 print됩니다.
input() 함수를 이용하면 입력값을 정해주지 않고 직접 받아 상황에따라 다르게 출력되는 재밌는 알고리즘을 짤 수 있습니다.
추가할 내용은 수정하며 정리하겠습니다.
감사합니다.
'공부 > Python' 카테고리의 다른 글
[Python/파이썬 기초 5] Round 함수에 대해 알아보자 (0) | 2024.04.17 |
---|---|
[Python/파이썬 기초 4] 변수에 대해 알아보자 (0) | 2024.04.04 |
[Python/파이썬 기초 2] 자료형에 대해 알아보자 (0) | 2024.04.02 |
[Python/파이썬 기초 1] print() 함수를 알아보자 (2) | 2024.04.02 |