기본 자료형

기본자료형

1. 자료형

 - 자료의 종류를 구분해 놓은 것

    - 자료의 종류를 구분한 이유

        → 컴퓨터에게 어떻게 연산을 하는지 알려주기 위해 자료의 타입을 구분함

 

2. 수치자료형

 - 정수(int)와 실수(float)로 구분

 

3. 수치 자료형의 특징

 - input함수를 사용 시, 사용자가 입력한 값이 string으로 인식됨

    ※ type함수를 사용하면 자료 형의 타입을 확인 할 수 있음

# Example
num = input('수를 입력하세요 : ')
print(type(num))

# 결과 :
# 수를 입력하세요 : 45
# <class 'str'>	(str은 문자열)

 

 - 입력 받은 값을 숫자형식으로 변경하려면 원하는 값 형태로 강제 형 변환을 함

 - 정수형으로 입력 받기 위해서는 int( )를 사용

# Example
num1 = int(input('1st : '))
num2 = int(input('2st : '))
print(num1 + num2)

# 결과 :
# 1st : 3
# 2st : 3
# 6

 

- 실수형으로 입력받기 위해서는 float( )를 사용

    ※ 나눗셈 연산의 경우, 데이터형과 상관없이 모두 float로 할당됨

# Example
num1 = float(input('1st : '))
num2 = float(input('2st : '))
print(num1 + num2)

# 결과 :
# 1st : 3
# 2st : 3
# 6.0

 

4. 문자형 자료형

 - 문자 그대로 이용

 - 작은 따옴표(' ') or 큰 따옴표(" ")를 이용

 - 사용자로부터 입력 받은 값을 사용한다면, 입력함수만 사용

 

5. 문자형의 특징

 - 문자형 병합

    - 두 수를 더하는 연산자는 '+'임

    - 이 연산자를 문자형 사이에 사용하여 문자형 데이터들을 합침

# Example
first_name = input('first_name : ')
last_name = input('last_name : ')
print(first_name + last_name)

# 결과 :
# first_name : 홍
# last_name : 길동
# 홍길동

 

 

 - 문자형의 길이

    - 문자열의 경우, 총 몇 개의 문자가 있는지 파악할 때 사용

    - len( )은 문자 or 문자열의 길이를 알려줌

# Example
id = input('ID : ')
print(len(id))

condition = 'I am Happy'
print(len(condition))

# 결과 :
# oh
# 2
# 10

 

 - 문자형의 인덱스

    - 문자열의 각 문자마다 인덱스 번호(왼쪽부터는 0부터 시작, 오른쪽부터는 -1부터 시작)를 매김

    - 인덱스 번호는 0번부터 시작. 또한, 문자 뿐만 아니라 공백(space)도 인덱스가 부여됨

0 1 2 3 4 5 6 7 8
g o o d   l u c k
# Example
str = 'good luck'
str[0]		# g

 

 - 문자열의 일부분 추출

    - slice 문자열의 인덱스 번호를 활용하여 일부분을 추출하는 것

    - 문자열을 이룹분 추출할 때 사용하는 범위

        - [n:m] : n번째부터 m -1 번째까지를 의미

        - [:m] : 처음부터 m - 1 번째까지를 의미

        - [n:] : n부터 문자열의 마지막까지를 의미

# Example
str = 'good luck'
str[5:9]	# 'luck'
str[5:]		# 'luck'
str[:4]		# 'good'

 

6. 연습문제

# Example1
# 사용자로부터 연필 & 펜의 개수를 입력받아 총 가격을 계산하는 프로그램
pencil = int(input('연필 개수 : ')
pen = int(input('펜 개수 : ')
total_price = pencil * 400 + pen * 800
print(total_price)

# 결과 :
# 연필 개수 : 5
# 펜 개수 : 3
# 4400

 

# Example2
# 3과목의 점수를 입력받아 합계와 평균을 계산하는 프로그램
A = int(input('A과목 : ')
B = int(input('B과목 : ')
C = int(input('C과목 : ')

total = A + B + C
avg = total / 3
print('평균: %.2f' % avg)
print('총점: %d' % total)

# 결과 :
# A과목: 70
# B과목: 80
# C과목: 90
# 평균: 80.00
# 총점: 240

 

# Example3
# 음악CD를 30% 할인할 때, 구입하는 음악CD의 총 가격을 계산해 주는 프로그램
# 음원 1개당 400원
# 총 가격의 30% 할인

CD = int(input('구입 음악CD 개수 : ')
price = CD * 400
DC = price * 30 / 100
total_price = price - DC

print('총 가격 : %d' % price + "원")
print('할인금액 : %d' % DC + "원")
print('총 구입 가격 : %d' % total_price + "원")

# 결과 : 
# 구입 음악 개수 : 9
# 총 가격 : 3600원
# 할인금액 : 1080원
# 총 구입 가격 : 2520원

 

# Example4
# 이름과 연락처를 입력박아 연락처의 경우 '-'기호를 제외하고 저장하는 프로그램
# 사용자로부터 이름과 연락처를 받음
# 이름과 연락처는 변수로 선언
name = inpu('이름 : ')
tel = input('연락처 (예:000-0000-0000): ')
print(name, tel[:3] + tel[4:8] + tel[9:])

# 결과 : 
# 이름 : 홍길동
# 연락처 : 010-1234-5678
# 홍길동 01012345678