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

[단과_Python] 2020.01.15

shine94 2020. 1. 16. 11:08

1. lec07_format.py

# -*- coding: utf-8 -*-
# 목표 : text format 이해하기
# 설명 : 문자열 formatting 방법 2가지
# python 2.6 version.
# python 3 version.

# python 2.3 version : % 사용
# %d : 10진수 정수(decimal)
# %o : 8진수 정수(octet)
# %x : 16진수 정수(hexa decimal)
# %f : 실수(float)
# %c : 문자(character)
# %s : 문자열(string)

print('text = %s' % 'hello world') 
print('num = %d' % 1)
print('실수 = %.2f' % 5.295612121)
print('실수 = %5.2f' % 5.2956121212)
print('실수 = %f' % 5.2)  #디폴트로 소숫점 6자리 출력
print('%s = %.2f' % ('answer', 5.8463))

# python 3 version : {} 사용
#1 {}에 번호를 붙이지 않고 사용
#   string을 만드는 기능(자바: String.format())
s='{}{}{}'.format(1, 3.2, 'text')
print(s)
print('{}{}{}'.format(1, 3.2, 'text'))
num=1
fnum=3.2
s='text'
print('{}{}{}'.format(num, fnum, s))

#2 {}에 번호를 붙이는 경우
print('{0}{1}{2}'.format(1, 3.2, 'text'))
print('{2}{1}{0}'.format(1, 3.2, 'text'))

#3 {}에 이름 붙이는 경우
print('{num}{fnum}{s}'.format(num = 1, fnum = 3.2, s = 'text'))
print('{num}{fnum}{s}'.format(num = 1, s = 'text', fnum = 3.2))

#4 {}에 간격을 주는 경우(alignment)
print('|{0:5}|{1:5}|{2:5}|'.format(1, 3.2, 'text'))
print('|{0:5}|{1:5}|{2:5}|'.format(10, 3.25, 'oh'))

print('|{0}|{1}|{2}|'.format(1, 3.2, 'text'))
print('|{0}|{1}|{2}|'.format(10, 3.25, 'oh'))

#5 {}에 간격도 주고 숫자의 형식에 맞게
print('|{0:10}|{1:15,}|{2:15.2f}|'.format('text', 100000000, 378.2234))

#6 왼쪽 정렬/오른쪽 정렬
print('|{0:<10}|{1:<15,}|{2:<15.2f}|'.format('text', 100000000, 378.2234))
print('|{0:>10}|{1:>15,}|{2:>15.2f}|'.format('text', 100000000, 378.2234))

#Quiz : 아래와 같이 출력되게 프로그래밍하세요
#  it academy java   40,000,000     10.097
#     it academy c      300,000   8376.382

subject1="it academy java"
fee1=40000000
count1=10.0973
subject2="it academy c"
fee2=300000
count2=8376.382

print('|{0:>20}|{1:15,}|{2:15.3f}|'.format(subject1, fee1, count1))
print('|{0:>20}|{1:15,}|{2:15.3f}|'.format(subject2, fee2, count2))

 

2. lec_01_list.py

# -*- coding: utf-8 -*-
# 목표: list 이해와 메서드 사용(클래스에서 제공하는 기능)
# 자료구조: 다량의 테이터가 모여있는 형태. 예: list
# 시퀀스 : 순서가 있는 데이터
# 리스트 : 모든 타입의 시퀀스, 파이썬의 자료구조 형태

# 리스트 기본
# 빈리스트 만들기 : []로. 파이썬은 선언문이 없으므로 선언처럼 사용하고자 할때
cities=[]
print(cities, type(cities))
cities = list()
print(cities, type(cities))

# 리스트 생성
list_a=[1, 1.3, 'aaple', True]
print(list_a)

list_str = ['apple', 'tomato', 'grape']
list_int = [1, 3, 4, 9, 10]
print(list_str)
print(list_int)

# list method 메서드
dir([])  #클래스에서 제공하는 메서드를 출력하는 함수

# list만들기
movies=['인터스텔라', '미션임파서블', '배트맨']

# 인덱스 index : 원소의 저장위치. 0부터 시작
print(movies[0])

# .을 넣어주는 이유는 메소드란 의미!!
# 인덱스 찾기 : .index()
print(movies.index('미션임파서블'))
#print(movies.index('미션임파서블')) #ERROR!

# 횟수세기 : .count()
movies=['인터스텔라', '미션임파서블', '배트맨', '미션임파서블']
print(movies.count('미션임파서블'))

# 추가하기 : .append()
movies.append('매트릭스')
print(movies)

# 원하는 위치에 추가하기 : .insert(원하는 위치, 데이터)
movies.insert(2, '데자뷰')
print(movies)

# 병합 : .extend() 여러 개의 리스트를 합치는 것.
movies2=['오페라의 유령', '밀양', '인셉션']
movies.extend(movies2)
print(movies)

# 삭제 : .remove(항목)
movies.remove('배트맨')
print(movies)

# 꺼내기 : .pop() : 맨 뒤에 있는 원소를 꺼낸다, 리스트에서 삭제가 됨
# pop 용어가 스텍에서 맨위(맨마지막에 추가된 원소)의 원소를 꺼낸다는 말
print(movies.pop())
print(movies.pop(0))  #인덱스를 줘서 원하는 위치의 원소를 꺼낼 수 있음

#정렬 : .sort() : 리스트 자체를 정렬
movies.sort()
print(movies)

movies.sort(reverse=True)    #역순으로 정렬
print(movies)

# 복제 : .copy(), 원본데이터가 변경되도 출력되는 값은 변하지 않음
#1
a=[1, 2, 3]
b=a.copy()
print(b)
#2
c=list(a)
#3
d=a[:]

# 할당 (대입)
e=a   
print(e)
#리스트 원소 변경
a[0]='hello'
print(e)

#원본데이터가 변경되면 출력되는 값이 변함
print(a, b, c, d)

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

[단과_Python] 2020.01.16  (0) 2020.01.17
[단과_JAVA] 2020.01.16  (0) 2020.01.17
[단과_JAVA] 2020.01.15  (0) 2020.01.16
[단과_Python] 2020.01.14  (0) 2020.01.15
[단과_JAVA] 2020.01.14  (0) 2020.01.14