파이썬이 처리하는 자료형(data type)에는 3가지 종류가 있습니다.
파이썬에서 문자열은 큰따옴표를 사용하여 "Hello World!"와 같이 나타내어도 되고 작은따옴표를 사용하여 'Hello World'와 같이 써도 됩니다. 어떤 표현이든지 동일합니다.
자료형을 알고 싶으면 type() 함수를 사용합니다.
print(type("Hello World!"))
print(type(0x46))
print(type(3.2))
print(type(17))
<실행 결과>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'int'>
파이썬의 변수에는 어떤 자료형의 데이터든지 저장이 가능합니다. 또 중간에 다른 자료형의 데이터를 저장하여도 됩니다.
x = 3.2
x = "Hello World!"
print(x)
<실행 결과>
Hello World!
따라서 일상적인 경우에 개발자는 데이터의 종류에 신경 쓰지 않아도 됩니다.
하지만 문자열과 숫자는 서로 구분하여야 하는데 문자열 '10' 과 숫자 10은 컴퓨터에서 아주 다르게 취급됩니다.
예를 들어 우리가 많이 사용했던 input() 함수는 사용자로부터 텍스트 형태의 데이터를 받아 반환하는 함수입니다.
아래의 코드를 대화형 Python에서 입력하여 실행 결과를 확인하세요. (>>>는 대화형 Python을 나타내는 문자이므로 코드를 작성할 때 >>>는 빼고 작성하시기 바랍니다.)
>>> x = input("Please input Integer : ")
>>> x
<실행 결과>

input() 함수가 반환한 것은 '10' 인 것을 알 수 있습니다. '10'은 정수 10과는 다른데 다행히도 파이썬에는 '10'을 정수 10으로 변경하는 int() 함수가 있습니다.
아래의 코드를 대화형 Python에서 입력하여 실행 결과를 확인하세요.
>>> x = input("Please input Integer : ")
>>> y = int(x)
>>> y
<실행 결과>

문자열을 실수로 변경해주는 함수는 float() 입니다. 아래의 코드를 대화형 Python에서 입력하여 실행 결과를 확인하세요.
>>> x = input("Please input Float : ")
>>> y = float(x)
>>> y
<실행 결과>

그렇다면 반대로 정수를 문자열로 변환하고 싶을 때는 어떻게 해야 할까요? 이때는 str() 함수를 이용하면 됩니다.
print('나는 현재 ' + str(21) + '살이다.')
<실행 결과>
나는 현재 21살이다.
만약 21을 변환하지 않고 print 함수를 이용하려 하면 TypeError : must be str, not int 라는 오류가 발생합니다.
print('나는 현재 ' + 21 + '살이다.')
<실행 결과>
TypeError: must be str, not int
또한 int() 에 잘못된 문자열을 전달하면 오류가 발생합니다.
int('9.99')
<실행 결과>
ValueError: invalid literal for int() with base 10: '9.99'
파이썬에서는 정수 10과 문자열 '10'을 비교하면 같지 않다고 나옵니다. 하지만 정수 10과 실수 10.0을 비교하면 같다고 출력됩니다.
파이썬에서 값이 같은지를 비교하는 연산자는 == 입니다.
print(10 == '10')
print(10 == 10.0)
<실행 결과>
False
True
1. 반지름이 r인 구의 부피와 면적은 다음과 같은 식으로 계산할 수 있습니다.

사용자로부터 반지름 r을 입력받은 후 구의 부피와 구의 표면적을 구하는 프로그램을 작성해봅시다. (는 3.141592라고 계산합니다.)
2. 봉민이는 지난 20년간 살아온 삶을 자서전으로 작성하여 출판하고자 합니다.
이 자서전의 정가가 28,000원일 때 대형서점에서는 10%의 할인을 해주고 처음 1권의 배송료는 3,000원이지만 추가되는 책의 배송료는 한 권당 500원이라고 합시다.
봉민이가 대학 동기들에게 자신의 책을 선물하기 위해 자서전을 대형서점에서 10권 구입한 후 배송을 맡겼을 때 총 비용은 얼마가 될까요?
3. 지구에서 태양 다음으로 가까운 별은 프록시마 켄타우리(Proxima Centauri) 별이라고 합니다.
이 별은 지구로부터 km 떨어져 있는데 빛의 속도로 이 별까지 가는 시간이 얼마나 걸리는지 계산해봅시다.
단위는 광년(light year)이며 빛의 속도는 300000 km/sec 입니다.
4. 쿠러그에서는 우주 탐사를 위해 우주선을 만들 계획을 가지고 있습니다. 이에 대한 시뮬레이션을 진행했을 때 쿠러그 1호는 시속 약 6만 km의 속도가 나온다고 합니다.
쿠러그가 만든 우주선으로 프록시마 켄타우리(Proxima Centauri)까지 가는 시간이 얼마나 될지 계산하여 봅시다. 3번 문제에서 속도 값만 변경하여 다시 계산해봅시다.
5. 자취를 혼자 하다 말동무가 없어 적적했던 봉민이는 침대를 뒹굴다 자신과 대화를 나눌 수 있는 프로그램을 만들기로 했습니다.
이름과 나이를 입력받아 아래의 실행 결과가 나오도록 프로그램을 작성해보세요.
<실행 결과>
이름을 입력해주세요 : 김봉민
김봉민 님 만나서 반갑습니다.
나이를 입력해주세요 : 20
10년 후면 30 살이 되시는군요!
6. 쿠러그는 학생회관 4층에 음료수 자판기를 설치하려는 계획을 가지고 있습니다. 이를 위해 자동 판매기를 시뮬레이션하는 프로그램을 작성하고자 합니다.
사용자는 1000원짜리 지폐와 500원짜리 동전, 100원짜리 동전을 사용할 수 있으며 물건값을 입력하고 1000원권, 500원짜리 동전, 100원짜리 동전의 개수를 입력하면
거스름돈을 계산하여 동전으로 반환하는 프로그램을 만든다고 하였을 때 아래의 실행 결과와 같은 프로그램을 작성해봅시다.
<실행 결과>
물건값을 입력하시오 : 750
1000원 지폐 개수 : 1
500원 동전 개수 : 0
100원 동전 개수 : 0
결과는 500원 0개, 100원 2개, 10원 5개, 1원 0개입니다.