EPI00 개발일지
초보자를 위한 파이썬 강의 (3) 입력과 형변환 본문
새 해가 밝았습니다!
그리고 2강을 쓴지 벌써 2달이 지났습니다!
간격...왜이렇게 긴걸까요.
일단 이번 강의는 굉장히 짧을 것이고, 때문에 내일 4강을 바로 올려보도록 하겠습니다.
아무튼 잡설은 그만하고 시작하도록 하겠습니다.
마찬가지로 비주얼 스튜디오 코드를 실행해주신 다음 적당히 새 파일을 만들어 .py 파일로 저장해주시거나, 아니면 저번의 파일을 열어주세요.
하나만 물어보도록 하겠습니다.
혹시 지금까지 사용해보신 모든 프로그램 중에서, 입력 없이 정해진 출력만을 제공하는 프로그램을 써보신 적 있으신가요??
아니실겁니다. 절대 아니죠. 사용자의 입력 없이, 또는 입력에 상관 없이 지 출력하고싶은것만 출력하는 프로그램은 솔직히 프로그램이 아니지요.
그래서 드디어 프로그램이라 불릴만 한 프로그램을 만들기 위해 입력을 배워볼까 합니다.
input()
파이썬에서의 입력 함수입니다. 이 코드를 넣고 실행하시면....... 프로그램이 사용자의 입력을 대기합니다
이 때 입력은 콘솔창에 텍스트로 입력시키는걸 말하는데, 사실 콘솔창이라 했지만 VSC를 쓰시는 여러분은 대부분이 아래쪽 Shell에서 프로그램이 입력을 대기할겁니다.
입력값을 받아서 출력하는건 어떻게 해야할까요?
다른 언어로 코드를 짜보신 분들은 아실 겁니다. 입력값을 변수에 저장해서 그 변수의 값을 출력하는 것이지요.
때문에 저번 강의에서 변수에 대해 설명해드렸습니다.
한번 시도해봅시다.
a = input()
print(a)
입력 프로그램을 실행하면 입력 대기상태로 들어갈테고, 어떠한 값을 입력하면 그 값이 그대로 출력될 것입니다.
그럼 오늘의 강의, 마치겠습니다.
물론 입력받는걸로만 끝내는건 좀 아닌 것 같습니다.
4강에선 연산자에 대해 다룰 것이기 때문에, 그 때 사용하기 위해 input()함수에 대해 스포를 좀 해야겠습니다.
우선, input()함수로 입력을 받기 전에 어떠한 입력을 받아야할지 사용자에게 제시를 해야할 필요가 있을 수 있습니다.
예를 들어서.... "점수를 입력하세요"와 같은 질문을 제시한 뒤에 입력을 받을 일이 있을텐데, 이 상황에서 사용할 수 있는 방법은 둘이 있습니다.
print("점수를 입력하세요")
a = input()
첫 번째 코드입니다. print()함수로 "점수를 입력하세요"라는 문자열을 출력한 뒤 값을 입력받아 a에 저장시킵니다.
이 두 줄의 코드를 우린 한줄로 줄여쓸 수 있습니다.
a = input("점수를 입력하세요")
"점수를 입력하세요"라는 문자열을 출력하고난 뒤 입력값을 a에 저장합니다.
이상으로 3강, 마치도록 하겠.....사실 하나 더 알려드릴 것이 있습니다.
input()함수로 입력받는 값은 모두 문자열로 저장됩니다.
다른 표현을 사용하자면, input()함수의 리턴값의 타입은 항상 str, 문자열입니다.
즉, 정수값이나 실수값...예를 들어 15나 23.1 이런 수를 입력받아 읨의의 변수에 저장시키면.... 그 변수로는 숫자 연산이 불가합니다. 물론 연산자에 대한 내용은 아직 배우지 않았지만 아무튼 숫자 연산이 불가능합니다. 때문에 변수의 타입을 변환시켜줘야하는데, 그 방법은 매우 간단합니다.
a = int(input("정수를 하나 입력해주세요"))
b = int(input("정수를 하나 더 입력해주세요"))
print(a+b)
> 정수를 하나 입력해주세요 > 13 > 정수를 하나 더 입력해주세요 > 12 > 25 |
*굵은 글씨가 입력, 굵지 않은 글씨가 프로그램의 출력입니다.
a = float(input("실수를 하나 입력해주세요"))
b = float(input("실수를 하나 더 입력해주세요"))
print(a+b)
> 실수를 하나 입력해주세요 > 3.2 > 실수를 하나 더 입력해주세요 > 5.3 > 8.5 |
각각 입력받은 문자열을 정수로, 그리고 실수로 바꿔서 둘을 더한 값을 출력하는 코드입니다.
매우 간단하게도 형변환(타입 변환)은 변환하고자 하는 목표 타입을 앞에 쓰고 괄호를 연 뒤 그 안에 값을 넣으면 됩니다.
예를 들어 float(a) 는 a라는 값을 실수형으로 변환시켜주고, int(a) 는 a라는 값을 정수형으로 변환시켜주며, str(a)는 a라는 값을 문자열로 변환시켜줍니다.
아, 만약 저기서 형 변환을 시키지 않으면 어떻게 되냐고요??
a = input("수를 하나 입력해주세요")
b = input("수를 하나 더 입력해주세요")
print(a+b)
> 수를 하나 입력해주세요 > 32 > 수를 하나 더 입력해주세요 > 54 > 3254 |
> 수를 하나 입력해주세요 > 2.4 > 수를 하나 더 입력해주세요 > 1.9 > 2.41.9 |
위 두 결과와 같이 두 문자열이 붙어서 출력이 됩니다(이후 연산자에서 문자열 연산에 대해 배울 때 다시 할겁니다). 때문에... 파이썬에서는 입력에서부터 형 변환을 해줘야 할 필요가 있습니다.
이상으로 3강 마치겠습니다..
분명 21년 1월 1일 쯤에 올리겠다고 생명과학쌤과 약속했지만.....
지금은 1월 2일 오전 1시 16분이네요...
쌤 죄송합니다ㅠㅠ 대신 숙제는 안냈어요....
다음강에 몰아서 내야지
'파이썬' 카테고리의 다른 글
초보자를 위한 파이썬 강의 (2) 출력과 변수 (1) | 2020.11.06 |
---|---|
초보자를 위한 파이썬 강의 (1) 파이썬, VS Code 설치 (0) | 2020.11.04 |