Source code: github GitHub - Denev6/tkinter-design: Python tkinter GUI Design Python tkinter GUI Design. Contribute to Denev6/tkinter-design development by creating an account on GitHub. github.com 순서로 제작되어 있으며, 상황에 따라 일부 내용이 생략되어 있습니다. 기본 정보 Contributors 코드: DeneV 아래 작성된 코드는 전체 프로젝트 중 일부를 편집하여 작성되었습니다. 프로젝트: Team Palette Licenses & Copyrights Code 코드는 수정 / 배포 / 사적 목적으로 사용할..
일반적으로 Pandas를 이용해 데이터를 정리하지만, openpyxl로 엑셀 데이터(.xlsx)를 다루는 방법도 있다. 이번 분석에 사용할 데이터는 공공데이터포털에서 다운로드 받을 수 있다. 파일이름을 "pohand_food.xlsx"로 변경하여 사용하였다. 엑셀 행 / 열 엑셀에서의 행은 1, 2, 3 ... 열은 A, B, C ... 와 같이 구성되어 있다. 그리고 "열+행"의 형태로 위치를 나타낸다. 행이 "3", 열이 "B"라면 "B3"과 같이 나타낸다. A B C D E 1 A1 B1 C1 D1 E1 2 A2 B2 C2 D2 E2 3 A3 B3 C3 D3 E3 4 A4 B4 C4 D4 E4 5 A5 B5 C5 D5 E5 실습 from openpyxl import load_workbook, Wor..
DFS (Depth-Fisrt Search) DFS: 깊이 우선 탐색 트리 상에서 자식 노드가 있다면, 아래(자식 노드)로 계속 전진하여 탐색하는 방법. 위 그림에서 각 노드의 번호는 탐색 순서를 뜻한다. 1번 노드는 2, 5번 노드를 자식으로 가진다. 하지만 2번 노드가 자식 노드를 가지기 때문에 5번 노드를 탐색하기 전 3, 4번 노드를 우선 탐색한다. 2번 노드에 다른 자식 노드가 없기 때문에 다시 5번 노드를 탐색하는 형태이다. 구현 - Python - open 리스트: 탐색하지 않은 상태(노드)들 - close 리스트: 탐색을 마친 상태(노드)들 DFS는 스택(stack)을 이용하여 구현할 수 있다. (FILO) def dfs(graph, start_node): # open list: stack..
하노이 탑 문제: 3개의 기둥이 있으며 한 기둥에 원판들이 쌓여있다. 그리고 아래 규칙에 따라 원판을 다른 기둥으로 이동시켜야 한다. 규칙: 한 번에 하나의 원판을 이동시킬 수 있으며, 큰 원판이 작은 원판 위에 있으면 안 된다. 문제 해결 문제를 일반화하기 전, 3개의 원판을 가진 하노이탑 문제를 고민해보면 아래 그림과 같다. 3개의 원판을 이동시키기 위해서는 먼저 2개의 원판을 임시 기둥(B)으로 옮겨야 한다. 그런 후, 가장 큰 원판을 목표 기둥(C)으로 옮길 수 있다. 같은 원리로 2개의 원판을 목표 기둥(B)으로 이동하기 위해서는 임시 기둥(C)으로 작은 원판을 이동해야 한다. 문제 일반화 1. n개의 원판을 옮기기 위해 n-1개의 원판을 목표 기둥이 아닌 임시 기둥으로 옮겨야 한다. (n≥2)..
단위 테스트는 독립적인 작은 단위의 기능을 테스트하는 방식이다. 단위 테스트에 필요한 코드를 따로 작성해두는 것은 각각의 기능이 잘 작동하는지 확인할 수 있는 좋은 습관이다. 텍스트 픽스쳐(test fixture): 테스트 설정을 위한 코드 테스트 케이스(test case): 테스트의 기본 단위 테스트 스위트(test suite): 테스트 케이스의 집합 (unittest 모듈 참고) 테스트 러너(test runner): 테스트 스위트를 실행하는 객체 unittest unittest는 테스트에 필요한 기능을 제공한다. unittest.TestCase를 상속 받은 클래스 내부에 test로 시작하는 메서드를 생성하면 테스트를 진행 할 수 있다. 클래스에 기본으로 생성되어 있는 메소드는 아래와 같다. asser..