이번 강에서는 입력을 배워보겠습니다.
입력을 배우시면 더욱 다양한 형태의 프로그램을 만드실 수 있습니다.
1. 입력이란 무엇인가
3강에서 배웠던 출력이 모니터, 스피커와 같은 출력장치에 데이터를 보여주는 거라면
반대로 입력(入力, input)은 키보드, 마우스와 같은 입력장치를 통해 데이터를 넣는 겁니다.
파이썬에서 입력을 하기 위해서는 input() 함수를 사용해야 합니다.
2. input() 함수 사용법
input() 함수는 사용법이 조금 특이합니다.
input() 함수 사용법
변수 = input("값을 입력하세요.")
여기서 한 가지 주의하셔야 할 점은 따옴표 안에 입력받을 값을 넣는 것이 아니라는 겁니다.
따옴표안에 있는 문자열을 출력한 다음 입력을 받는 것입니다.
따옴표 부분 없이 input()으로만 해도 됩니다.
[숫자를 입력하세요. : ]를 C언어로 프로그래밍한다면
printf("숫자를 입력하세요. : ");
scanf("%d", num);
이렇게 되겠지만, 파이썬에서는
num=input("숫자를 입력하세요. : ")
이렇게 한 줄이면 끝나기 때문에 코드 길이가 짧아집니다.
이렇게 input() 함수를 이용해 num 변수에 값을 입력할 수 있습니다.
3. 주의할 점
지금까지 배운 것들을 응용해서 숫자 2개를 입력받아서 합을 출력하는 프로그램을 작성해보세요.
아마 거의 대부분 위와 같이 작성하셨을 겁니다.
하지만 실행해보면 이상한 값이 출력되게 됩니다.
10과 5를 입력했으니 15가 나와야 되는데, 105가 출력됐습니다.
이렇게 출력이 되는 이유는 input() 함수에서 입력을 받은 것들은 자동으로 문자열로 인식되기 때문입니다.
그래서 10과 5도 문자열로 인식되어 10+5가 105가 되는 겁니다.
문자열 연산자 +는 더하는 게 아니라 두 문자열을 합치는 연산자이기 때문입니다.
참고 : https://poci.tistory.com/70
해커맨 파이썬 강의 6강_자료형이란 무엇인가_문자
이번 강에서는 자료형에 대한 개념과 문자열과 문자열 연산자에 대해 알아보겠습니다. 1. 자료형이란 무엇인가 자료형(Data Type)은 자료의 형태를 의미합니다. Hackerman, 파이썬, 0131, 3.14 여러분들
poci.tistory.com
그러면 어떻게 해결해야 할까요? 문자열을 숫자로 변환시켜주면 됩니다.
이렇게 자료형을 바꾸는 것을 캐스트(cast)라고 합니다.
캐스트를 할 때는 주로 다음 함수들을 많이 사용합니다.
int() 함수 : 문자열을 int형으로 변환시킨다.
float() 함수 : 문자열을 float형으로 변환시킨다.
str() 함수 : int형, float형을 문자형으로 변환시킨다.
따라서 두 수를 입력받아 합치는 프로그램을 이렇게 작성하셔야 합니다.
이러면 num1과 num2의 입력값이 int() 함수 때문에 int형으로 캐스트 되므로 10+5인 15가 출력됩니다.
단, 숫자나 실수가 아닌 것에 int(), float() 함수를 사용하면 오류가 발생합니다.
int("안녕하세요"), flaot("hackerman")
또한 소수점이 있는 실수를 int() 함수로 캐스트 할 때도 오류가 발생하니 주의하셔야 합니다.
int("3.14")
정리
- 입력 : 입력장치를 통해 데이터를 넣는 것, input() 함수를 사용한다.
- input() 함수 사용법 : 변수=intput(" ")
- input() 함수로 입력받은 값은 문자열로 인식됨을 주의한다.
- int(), float(), str() 함수로 원하는 자료형으로 캐스트 할 수 있다.
강의가 유익하셨거나 마음에 드셨으면 구독과 좋아요, 댓글 부탁드립니다.
궁금하신 점이나 질문은 댓글 남겨주시기 바랍니다.
'파이썬' 카테고리의 다른 글
해커맨 파이썬 강의 11강_ 연산자란 무엇인가(part1) (0) | 2019.10.24 |
---|---|
해커맨 파이썬 강의 10강_ 다양한 문자열 함수들 (0) | 2019.10.21 |
해커맨 파이썬 강의 8강_변수란 무엇인가 (0) | 2019.09.09 |
해커맨 파이썬 강의 7강_자료형이란 무엇인가_숫자 (0) | 2019.09.05 |
해커맨 파이썬 강의 6강_자료형이란 무엇인가_문자 (0) | 2019.09.01 |