앎을 경계하기

Contents 356

Python 파일 입출력

파일 읽고 쓰기 f = open('new.txt','w') #쓰기 모드 w, 읽기 모드 r, 추가 모드 a f.close() f = open('new.txt', 'w') for i in range(1, 11): data = "%d번째 줄입니다.\n"%i f.write(data) f.close() f = open('new.txt', 'r') while True: line = f.readline() #readline() - 파일 한 줄을 읽어서 반환 if not line: break print(line) f.close() 1번째 줄입니다. 2번째 줄입니다. 3번째 줄입니다. 4번째 줄입니다. 5번째 줄입니다. 6번째 줄입니다. 7번째 줄입니다. 8번째 줄입니다. 9번째 줄입니다. 10번째 줄입니다. f = ..

Programming/Python 2019.12.26

Python 사용자 입력, 출력

a = input() # 사용자 입력 받기. 문자열로 처리한다. Life is too short, you need python a 'Life is too short, you need python' number = input("숫자를 입력하세요") print(number) 숫자를 입력하세요3 3 a = 123 print(a) a = "python" print(a) a = [1,2,3] print(a) 123 python [1, 2, 3] print("life""is""too short") print("life"+"is"+"too short") lifeistoo short lifeistoo short print("life","is","too short") # ,사용하면 문자열 간 띄어쓰기가 적용된다. lif..

Programming/Python 2019.12.26

Python 함수, 변수 스코프, 글로벌 변수

함수 def sum(a, b): return a+b a = 3 b = 4 c = sum(a,b) print(c) 7 def say(): return 'Hi' say() 'Hi' def sum(a,b): print("%d"%(a+b)) sum(3,4) 7 print(sum(3,4)) # 반환값이 없어서 None이 나온다. 7 None 입력값이 몇 개일지 모르는 경우 def sum_many(*args): sum = 0 for i in args: sum = sum + i return sum result = sum_many(1,2,3) result 6 result = sum_many(1,2,3,4,5,6,7) result 28 함수의 결과값은 항상 하나 def sum_and_mul(a,b): return a+b..

Programming/Python 2019.12.26

Python 변수, 객체, 복사

# 파이썬에서 변수는 다음과 같이 사용할 수 있다. a = 1 b = 'python' c = [1,2,3] 변수 파이썬의 변수는 객체를 가리키는 것이다. 파이썬은 모든 것을 객체로 취급한다. type(3) # 3은 정수 상수가 아니라 정수형 객체이다. int a = 3 b = 3 a is b # a와 b가 동일한 객체를 가리키는가 True # 참조 개수 확인하기 import sys sys.getrefcount(3) 507 x = 3 sys.getrefcount(3) 503 y = 3 sys.getrefcount(3) 504 z = 3 sys.getrefcount(3) 505 #메모리에 생성된 변수 삭제하기 del(x) del(y) 복사 파이썬에서는 흔히 복사를 사용할 때 겪는 문제가 있다. a = [1,..

Programming/Python 2019.12.25

Python tuple, dictionary, set

Python 리스트, 튜플, 딕셔너리, 셋 list = [] tuple = () dict = {} set = set() Tuple은 리스트와 비슷하지만 값의 수정이 불가능하다는 차이점이 있다. t1 = () t1[0] = 1 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) in 1 t1 = () ----> 2 t1[0] = 1 TypeError: 'tuple' object does not support item assignment t1 = (1,2,3) t1[0] # list와 같이 인덱스로 접근 가능하다. 1 #괄호를 생략해도 튜플 사용할..

Programming/Python 2019.12.25

Python 리스트 관련 함수

리스트 관련 함수 append() - 추가 sort() - 정렬 reverse() - 뒤집기 index() - 위치 반환 insert() - 요소 삽입 remove() - 요소 삭제 pop() - 요소 꺼내기 count() - 요소 개수 세기 extend() - 리스트 확장 a = [1,2,3] a.append(4) a [1, 2, 3, 4] a.append([5,6]) a [1, 2, 3, 4, [5, 6]] a.append('sfsf') a [1, 2, 3, 4, [5, 6], 'sfsf'] a = [4,2,3,1] a.sort() a [1, 2, 3, 4] a.sort(reverse=True) a [4, 3, 2, 1] a = ['a','z','df'] a.sort() # 첫 알파벳 순으로 정렬 a..

Programming/Python 2019.12.25

Python 리스트 생성, 인덱싱, 슬라이싱, 수정, 삭제

리스트 표현방법 list = [요소1, 요소2, 요소3, ...] a = [] b = [1,2,3] c = ['life', 'is', 'too', 'short'] d = [1,2,'life','is'] e = list() a, b, c, d, e ([], [1, 2, 3], ['life', 'is', 'too', 'short'], [1, 2, 'life', 'is'], []) a == e # 빈 리스트는 [], list()로 생성할 수 있다. True 리스트 인덱싱, 슬라이싱 list는 문자열과 같이 인덱싱하고 슬라이싱할 수 있다. a = [1,2,3] a[0] 1 a[0]+a[2] 4 a[-1] 3 a = [1,2,3,['a','b','c']] a[0] 1 a[-1] ['a', 'b', 'c'] a[-..

Programming/Python 2019.12.25

Python 문자열 관련 함수

a = "hobby" a.count('b') 2 a = "Python is best choice" a.find('b') #있는 경우, 처음 나온 위치(인덱스) 반환 10 a.find('k') #없는 경우, -1 반환 -1 a = 'life is too short' a.index('t') #있는 경우, 처음 나온 위치(인덱스) 반환 8 a.index('k') #없는 경우, 에러 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in ----> 1 a.index('k') #없는 경우, 에러 ValueError: substring not foun..

Programming/Python 2019.12.25

Graph - Bellman-ford's algorithm

참고 사이트 : https://ratsgo.github.io/data%20structure&algorithm/2017/11/27/bellmanford/ bellman-Ford's algorithm keywords : 최단 경로, 음수 사이클, 그래프 개념 벨만-포드 알고리즘은 Shortest path를 구할 때 graph 내 모든 edge에 대해 edge relaxation을 수행한다. 모든 노드 개수 : |V|-1개 모든 edge에 대해 edge-relaxation을 |V|-1회 수행한다. 방법) 시작 노드 A를 제외한 모든 노드의 value를 inf로 초기화한다. 노드 B에서 노드 C로 가는 경우, edge cost가 2인 경우, B노드 값 + 간선(B,C) = inf이기 때문에 업데이트할 필..