python에서 입력받을 때에는 input 함수 사용. 디폴트 값으로 문자열로 저장하고 int(input()) 이나 float(input())형태로 정수, 실수로 저장할 수 있다. 변수 여러 개의 값을 입력받으려면 split을 사용한다. 마찬가지로 디폴트로 문자열로 저장하고, map에 int나 float을 지정해주어 정수나 실수로 변환한다.
split 함수란?: 문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 함수. #형태 - 문자열.split() - 문자열.split('구분자') - 문자열.split('구분자',분할횟수) - 문자열.split(sep='구분자',maxsplit=분할횟수) (= 문자열을 maxsplit 횟수만큼 sep의 구분자를 기준으로 문자열을 잘라서 리스트로 만든다) #sep 파라미터 - 기본값은 none. - 띄어쓰기, 엔터로 문자열을 자름 - 문자열.split(',') 은 , 기준으로 문자열을 자른다는 뜻 #maxsplit파라미터 - 기본값은 -1. 자를 수 있을 때까지 문자열 전체를 자름 - 앞에 sep파라미터가 있을 때만 maxsplit=를 생략할 수 있음. ex2.문자열.split(maxsplit=1) #앞에 sep파라미터 없어서 maxsplit을 써서 명시해줘야만 함. map 함수란?: 리스트의 요소를 지정된 함수로 처리하는 함수. 보통 여러 개의 데이터를 한 번에 다른 형태로 바꾸기 위해 사용함. #형태 map(function,iterable) - 첫번째 매개변수는 적용시킬 함수, 두 번째 매개변수는 반복가능한 자료형(리스트, 튜플 등) - map 함수의 반환 값은 map 객체라서 list나 tuple로 형 변환을 시켜주어야 함. - 함수는 int와 타입, 람다함수, 일반 함수 모두 가능
파이썬에서 입력받기파이썬의 기본 입력 함수는 input()이다. 키보드로부터 입력받아 문자열(str)로 리턴한다. 숫자 값을 입력하였더라고 문자열로 반환되기 때문에 이 점을 항상 생각하며 사용해야 한다. 이와 같은 방식으로 input() 함수를 형변환 함수로 감싸주면 값이 형변환되어 저장된다. 여러 개 입력받기input 함수는 한 번에 한 개의 값만을 입력받을 수 있다. a b c를 입력하였더라도 a b c 가 하나의 문자열로 인식된다. 두 가지 방법을 이용해서 여러 문자열을 입력받아본다. 방법 1) split()매개변수 없이 사용하는 split 함수는 공백을 기준으로 문자열을 자른다. 따라서 a b c로 입력했을 때 공백을 기준으로 a, b, c가 각각 잘려서 3개의 변수에 대입되었다. split 함수에 매개변수를 주면 어떻게 될까 :로 매개변수를 주었기 때문에 : 를 기준으로 입력한 문자열이 잘린 것을 확인할 수 있다. int(input().split())과 같이 사용하면 TypeError가 발생한다. input().split()의 결과가 list이기 때문이다. 그렇기 때문에 한 개의 값만 입력받을 때 input()을 형변환 함수로 감싸줬던 방법은 사용하지 못한다. 다른 형 타입의 변수로 사용하고 싶은 경우, 각각의 변수들마다 형변환을 일일이 해줘야 하는 게 번거롭다. 따라서 여러 개를 입력받을 때에는 map 함수를 사용하는 게 좀 더 편하다. 방법 2) map()In [20]은 map 함수를 사용하지 않았을 때의 결과 값이다. 10 + 20 + 30 = 60인 결과 값을 얻어내고 싶었는데 a, b, c 세 변수 모두 string 타입이므로 덧셈 연산은 되지 않고 그냥 문자열이 합쳐진다. In [25]에서 map 함수를 사용했다. 입력받은 3개의 값들이 모두 int형으로 형변환되어 저장된 것을 확인할 수 있다. |