웹_프론트_백엔드/단과

[단과_Python] 2020.01.17

shine94 2020. 1. 19. 23:10

1. lex03_string.py

# -*- coding: utf-8 -*-
gdp_global = \
'''Rank	Name	2019 Population	GDP (IMF)	GDP (UN '16)	GDP Per Capita
1	UnitedStates	329,064,917	21,410,230	18,624,475	$65,064
2	China	1,433,783,686	15,543,710	11,218,281	$10,841
3	Japan	126,860,301	5,362,220	4,936,212	$42,269
4	Germany	83,517,045	4,416,800	3,477,796	$52,885
5	India	1,366,417,754	3,155,230	2,259,642	$2,309
6	France	65,129,728	3,060,070	2,465,454	$46,984
7	UnitedKingdom	67,530,172	3,022,580	2,647,899	$44,759
8	Italy	60,550,075	2,261,460	1,858,913	$37,349
9	Brazil	211,049,527	2,256,850	1,795,926	$10,693
10	Canada	37,411,047	1,908,530	1,529,760	$51,015
11	SouthKorea	51,225,308	1,777,650	1,411,246	$34,703
12	Russia	145,872,256	1,754,290	1,246,015	$12,026
'''

print(gdp_global) 

#1 gdp_global 문자열안에 있는 이스케이프 문자(Escape Sequence, 예: \t, \n)도 함께 출력하세요.
#2 줄단위로 분리하세요.
#3 한국이 있는 줄만 출력하세요.
#4 한국의 인구, gdp(imf)와 1인당 gdp를 출력하세요.
#5 한국의 1인당 gdp를 계산하시오. = gdp / 인구

#1
print(repr(gdp_global))

#2
print(gdp_global.split('\n')) #리스트 타입

#3
lines = gdp_global.split('\n')
print(lines[11], type(lines[11]))

#4
print(lines[11].split())
print(lines[11].split()[2])
line_korea = lines[11].split()
print('인구', line_korea[2])
print('gdp=', line_korea[3])

#5
pop = int(line_korea[2].replace(',', ''))
gdp = int(line_korea[3].replace(',', ''))
print(gdp/pop)

2. lec04_sequence.py 

# -*- coding: utf-8 -*-
# Sequence 이해(list, string, tuple)
# 특징 : 순서가 있다. 인덱싱 가능. 배열과 비슷. 0부터 시작
# 인덱싱(indexing), 변경, 슬라이싱(slicing) 
# 변경불가(immutable) : string, tuple
# 변경가능(mutable) : list

# 데이터타입변환
# 스트링 -> 리스트, 튜플
print(list('hello'))
print(tuple('hello'))
a=list('hello')
b=tuple('hello')
a[0]='d'
#b[0]='d' #ERROR!! 튜플은 수정 불가
print(a)
print(b)

#튜플 -> 리스트
print(list(b))
#리스트 -> 튜플
print(tuple(a))
# 빈 시퀀스 만들기
string_letter=''
list_cities=[]
tuple_movies=()

# 인덱싱
string_letters='0123456789'
list_cities=['서울', '부산', '대구', '수원']
tuple_movies=(tuple(['인터스텔라', '미션임파서블', '배트맨', '미션임파서블']))
print(string_letters)
print(list_cities)
print(tuple_movies)

print(string_letters[-1]) #맨마지막 원소
print(string_letters[-2]) #맨마지막에서 두번째
print(string_letters[0]) #첫번째

#print(string_letters[20]) #ERROR : string index out of range
#string_letters[0] = 'h' #ERROR!! 스트링은 수정 불가

# 슬라이싱 : [시작:종료:스텝] : 시작부터 종료전까지만
print(string_letters[0:2]) #스탭이 1일때 생략가능
print(string_letters[:2]) #시작이 0이면 생략가능
print(string_letters[-2:])   #종료가 마지막이면 생략가능
print(string_letters[-2:-1])

#Quiz : string_letter 에서 13579만 추출(스텝활용)
print(string_letters[1::2])
#Quiz : string_letter 를 거꾸로 9876543210(스텝활용)
print(string_letters[::-1])

print(string_letters[::]) #전체
print(string_letters[:]) #전체
print(string_letters[3:6]) #345만 추출

#항목개수 얻기 : len()함수
print(len(string_letters))
print(len(list_cities))
print(len(tuple_movies))

# 삭제 : del()함수
del list_cities[0]
print(list_cities)

#del tuple_movies[0]  #ERROR!! 튜플은 수정 불가

# 정렬 : sorted() 정렬된 복사본을 반환, 반환값은 항상 리스트
print(sorted(string_letters))
print(sorted(list_cities))
print(sorted(tuple_movies))

# 정렬 reverse
print(sorted(string_letters, reverse=True))
print(sorted(list_cities, reverse=True))
print(sorted(tuple_movies, reverse=True))

# 할당(복사와 다름. 같은 객체를 가리킨다)
a=list_cities
b=string_letters
c=tuple_movies

# + : 결합
print(list_cities + ['전주', '서귀포'])
print(tuple_movies + ('에일리언',)) #튜플이 한개일때는 , 붙여줘야함. 안그럼 string으로 인식해서 그럼
print('ice'+'coffee')

# * : 복제
print('free'*4)
print(list_cities*2)
print(tuple_movies*2)

3. lex04_sequence.py 

# -*- coding: utf-8 -*-
# 목표 : 문자열 기본 이해 : casting(문자로 형변환), join, indexing, slicing
#문제1. a=True, b=1일때 string으로 변환한 뒤 변수 c에 다음과 같이 저장하라.
#출력: 'True is 1'
#문제2. 'abcdefghijklmn'에서 마지막 세문자를 출력하라.
#문제3. 'abcdefghijklmn'에서 홀수번째 문자만 출력하라
#단 문자사이에 ,를 넣어서 출력한다
#출력 : a,b,c

#1
a=True
b=1
print(str(a)+' is '+str(b))

#2
text = 'abcdefghijklmn'
print(text[-3:]) 

#3
print(','.join(text[::2]))

4. lec05_dict.py

# -*- coding: utf-8 -*-
# dictionary 딕셔너리    기본, 심화 : 생성, 추가, in
# 딕셔너리란? key와 value의 쌍으로 이루어진 데이터 형태.
# 자바의 hashmap, json 형태와 동일(자바스크립트)
# 키는 어떤 타입이든 가능. int, str.
# 순서 없음. 시퀀스 아님. 인덱싱 안됨.
# 키는 유일해야 함. (키 == 인덱싱)

# 빈 딕셔너리
com_dic = {}
print(com_dic, type(com_dic))
dom_dic=dict()
print(com_dic, type(com_dic))

# 딕셔너리 생성
com_dic = {'C' : '시스템 프로그래밍 언어',
           'Python' : '데이터분석 언어',
           'JAVA' : '모바일용 언어'}
print(com_dic, type(com_dic))

# 딕셔너리로 변환 : dict()
member_dict=dict(name='홍길동', id='119', login_date='2020/01/02')
print(member_dict, type(member_dict))

# list를 딕셔너리로 변환 : dict()
prices = dict([['item_a', 100], ['item_b', 200], ['item_c', 300]])
print(prices)

print(prices['item_a']) 

'웹_프론트_백엔드 > 단과' 카테고리의 다른 글

[단과_Python] 2020.01.20  (0) 2020.01.20
[단과_JAVA] 2020.01.20  (0) 2020.01.20
[단과_JAVA] 2020.01.17  (0) 2020.01.19
[단과_Python] 2020.01.16  (0) 2020.01.17
[단과_JAVA] 2020.01.16  (0) 2020.01.17