본문 바로가기

전체 글130

6주차, 파이썬으로 sort 구현 def insertion_sort(some_list): for i in range(len(some_list)): key = some_list[i] j = i - 1 while j>=0 and some_list[j] > key: some_list[j + 1] = some_list[j] j = j - 1 some_list[j + 1] = key some_list = [11, 7, 3, 25, 5, 1] insertion_sort(some_list) print(some_list) // 1, 3, 5, 7, 11, 25 들어온 리스트의 수만큼 for문이 돈다. 첫 for문에선 j가 -1이므로 while문이 발동하지 않는다. 2번째 for문에선 j가 0과 같고, 리스트의[0]번째 요소인 11이 key값인 7보다 .. 2022. 1. 24.
6주차, 함수명을 변수로 할당 함수의 매개변수로 함수를 넣은 것이 가능하다. 그리고 함수를 선언하고 그걸 변수로 할당할 수도 있다. def plus(x, y): print(x + y) def minus(x, y): print(x - y) f = [plus, minus] # 함수명을 list의 요소처럼 사용 f[0](2, 3) f[1](2, 3) // 5 // -1 2022. 1. 24.
6주차, 파이썬으로 팩토리얼 구하기 팩토리얼은 숫자! 로 표시한다. 뜻은 주어진 수에서 1을 빼고, 뺀 값을 원래 값에 곱하는데 그 과정을 0이 될 때까지 반복한 수다. 방법1, 재귀함수 def fact1(num): if num >0: return fact(num-1) * num # 5가 들어갈 경우 fact(4) * 5 -> fact(3) * 4 * 5 # -> fact(1) * 2 * 3 * 4 * 5 -> fact(0) * 1 *2 * 3 * 4 * 5 # -> 1 * 2 * 3 * 4 * 5 = 120 else: return 1 print(fact1(5)) // 120 처음 fact(5)가 호출되면 5가 0보다 크니 리턴으로 간다. 그런데 거기서 1 작은 fact1이 호출된다. 그걸 0까지 반복하면 1이 나온다. 그럼 fact(0).. 2022. 1. 24.
6주차, 외장함수 (time, os, sys 요약) 외장함수란 다른 사람이 미리 정의해 놓은 함수로, 상당수의 외장함수들은 이미 우리가 파이썬을 설치할 때 자동으로 컴퓨터에 설치되어 있다. 라이브러리(또는 모듈이라 부름)란 남들이 미리 작성해 놓은 코드들의 집합(함수, 클래스 등을 포함)을 뜻한다. import 라이브러리 이름 와 같은 방식으로 호출하여 외장함수를 사용 가능한 상태로 만든다. Time은 시관과 관련된 모듈이다. time.time(): UTC(협정 세계 표준시)를 사용하여 현재 시간을 실수 형태로 반환, 1970년 1월 1일 0시 0분 0초를 기준으로 현재까지 지난 시간을 초 단위로 돌려준다. time.sleep(x): x초 동안 대기한다. time.localtime(): time.time()에서 나온 실수값을 이용하여 연도, 월, 일, 시.. 2022. 1. 24.