파이썬 중급7 (input - 사용자에게 입력받기)
파이썬 input함수
input함수
앞에서 배운 적 있는 input함수는 사용자에게 입력을 받고
그 입력값을 변수에 할당해주는 역할을 합니다.
input함수의 사용법
앞에서 배웠기 때문에 코드로만 예제를 보여드리겠습니다.
1
2
|
a = input("하고싶은 말을 입력해 주세요 : ")
print("입력한 말 {0}".format(a))
|
cs |
앞에서 설명한 input함수로 선언한 변수는 str형으로 저장됩니다.
우리가 a와 b를 입력해서 더하는 프로그램을 만들어 봅시다.
안 따라 하셔도 됩니다.
1
2
3
|
a = input("a를 입력해 주세요 : ")
b = input("b를 입력해 주세요 : ")
print("입력한 말 {0}".format(a+b))
|
cs |

이렇게 10과 20이 문자열로 취급받기에 10+20이 30이 아닌
두 문자열을 이은 "1020"을 출력합니다.
우리는 여기서 앞에서 배운 int라는 함수를 생각해야 합니다.
int는 들어온 문자열이 숫자로 이루어져 있다면 숫자로 타입을 변환합니다.
1
2
3
|
a = int(input("a를 입력해 주세요 : "))
b = int(input("b를 입력해 주세요 : "))
print("입력한 숫자 {0}".format(a+b))
|
cs |
이제 우리가 원한 값이 도출되었습니다.
만약 입력받는 값이 문자열이면 안된다면 이렇게 꼭 형 변환을 해줘야 합니다.
input함수로 여러 개의 값을 받기
저렇게 두 번 입력하는 게 번거롭다고 생각할 수 있습니다.
1
2
|
a,b = input("숫자 두 개를 입력해 주세요 : ").split()
print("입력한 말 {0}".format(int(a)+int(b)))
|
cs |
이런 방식으로 값 두 개를 split()이란 문자열을 나눠서 리스트로 반환하는 함수를 이용해 각각의 변수명에 할당해줄 수 있습니다.
근데 int를 왜 input앞이 아닌 format함수 안에서 할까요?
split을 해버리면 타입이 list로 변경되기 때문에 int함수를 사용할 경우 오류가 납니다.
하지만 a, b에 들어갈 때부터 int형으로 넣는 방법도 있습니다.
바로 map이란 함수를 사용하는 것입니다.
1
2
|
a,b = map(int,input("숫자 두 개를 입력해 주세요 : ").split())
print("입력한 말 {0}".format(a+b))
|
cs |
map함수는 map(a, b)의 형태로 파이썬 함수 a와 이 터블 한 자료형을 받아 함수 a에 b요소를 하나씩 집어넣어 반복합니다.
요약
1.input함수는 사용자에게 입력을 받아서 str형으로 저장한다.
2.map함수는 반복 가능한 객체를 받아서 받은 함수로 반복해서 돌려준다.
3.int는 자료형을 숫자형으로 변경시켜준다.
숙제
1.split함수를 이용해 ", " 콤마를 기준으로 문자열을 스플릿 해서 변수에 담에서 출력해주세요.
다음 시간에는 파일을 읽고 쓰는 법을 배워 보겠습니다.
'Python 프로그래밍 > Python 중급' 카테고리의 다른 글
파이썬 중급8 (open,with - 파일 입출력) (0) | 2020.03.03 |
---|---|
파이썬 중급6 (break,continue - 흐름제어) (0) | 2020.02.28 |
파이썬 중급5 (for - 반복문) (0) | 2020.02.26 |
파이썬 중급4 (while - 반복문) (0) | 2020.02.25 |
파이썬 중급4 (elif - 조건문) (0) | 2020.02.23 |