Tiny Finger Point Hand With Heart
본문 바로가기
  • 바쁘다바빠 현대사회 알쏭달쏭 컴퓨터세상 왁자지껄 개발로그
728x90
반응형
SMALL

Python10

[python] 파이썬으로 엑셀 파일을 만들어보자(openpyxl) 업무자동화의 기본 엑셀파일 만들기를 해보자 먼저 아래 라이브러리를 깔아야한다. pip install openpyxl 간단하게 담당자와 시작일만 입력되게 만들어보았다. 1. 라이브러리를 불러온다. 2. 먼저 WeeklyWorkPlan이라는 클래스를 만들어 인스턴스를 선언하였다. 여기서 wb는 워크북, ws는 워크시트를 뜻한다. 3. __init__함수는 생성자메서드다. 생성자를 객체화 시 바로 수행할 내용을 작성한다. start_date, manager, sheet_no 세 개의 인자를 받는다. 이 인자들은 인스턴스의 속성(attribute)으로 할당된다. Workbook()은 openpyxl 라이브러리를 사용하여 새로운 엑셀 파일을 생성하는 함수이다. 이 함수를 호출한 결과를 self.wb 속성에 할당한.. 2023. 3. 23.
[알고리즘/Python] 재귀함수와 팩토리얼 재귀적으로 문제를 푼다는것 = 같은 형태의 더 작은 문제를 풀고 부분 문제의 답을 이용해서 기존 문제를 푸는 것. 재귀함수의 예시로 팩토리얼을 한번 보자. 팩토리얼 n의 팩토리얼은 n!이라고 표시한다. 이는 1부터 n까지의 정수를 곱하는 단순한 연산을 말한다. 재귀로 풀땐 항상 경우를 나눠줘야하는데 기본적인 base case와 조건이 다른 recursive case가 있다. 0!=1이라고했으니 n =0인 경우는 무조건 n!=1이 된다. 이렇게 바로 답이 나오는 경우를 base case라고 한다. 하지만 n != 0 인경우, n >0인 경우엔 재귀적으로 문제를 풀어야한다. 즉, 같은 형태의 더 작은 문제를 풀고 부분 문제의 답을 이용해서 기존 문제를 푸는 것이다. 위에 그림처럼 5!은 1x2x3x4x5 =.. 2023. 2. 23.
[DRF] 영화정보_API(2) 2023.02.22 - [백엔드/DRF(Django REST Framework)] - [DRF] 영화정보_API(1) [DRF] 영화정보_API(1) 오늘은 영화정보를 관리하는 api를 만들어보려고 한다. 먼저 환경설정을 하자. #먼저 가상환경 설정 python -m venv venv #가상환경실행 . venv/bin/activate #pip설치 (버전은 맘대로) pip install django==4.0 djangor yoondii.tistory.com 가상환경설정이 안되어있다면 위에 설정을 먼저 봐주세요. 모델(model) 영화에 대한 기본 정보를 담을 수 있는 Movie 모델을 생성해보자. Movie 모델에는 name(이름), opening_date(개봉일), running_time(상영 시간), .. 2023. 2. 22.
[DRF] 영화정보_API(1) 오늘은 영화정보를 관리하는 api를 만들어보려고 한다. 먼저 환경설정을 하자. #먼저 가상환경 설정 python -m venv venv #가상환경실행 . venv/bin/activate #pip설치 (버전은 맘대로) pip install django==4.0 djangorestframework==3.13.1 #프로젝트생성 django-admin startproject movie_api . 프로젝트까지 생성을 하고 나면 프로젝트의 settings.py 들어가기 INSTALLED_APPS = [ # ... 'django.contrib.staticfiles', 'rest_framework' #DRF넣어줘야함 ] 그 다음 앱을 생성한 후 똑같이 위에 처럼 앱이름을 넣어주면 된다. python manage.py .. 2023. 2. 22.
[Python] zip() zip 함수 zip(*iterables)는 각 iterables 의 요소들을 모으는 이터레이터를 만든다. 튜플의 이터레이터를 돌려주는데, i 번째 튜플은 각 인자로 전달된 시퀀스나 이터러블의 i 번째 요소를 포함한다. # zip(*iterable) : 동일한 개수로 이루어진 자료형을 묶어 줌 a = ['one', 'two', 'three'] b = ['a', 'b', 'c'] print(list(zip(a, b))) --------------------------------------------- [('one', 'a'), ('two', 'b'), ('three', 'c')] a라는 리스트와 b라는 리스트의 값들이 index 순서에 따라서 묶어진 것을 확인할 수 있다. # 두 리스트의 요소 끄집어내기 #.. 2023. 2. 21.
[Python] 진법변환 파이썬의 함수를 사용해서 쉽게 진법 변환이 가능하다. n진법 → 10진법 python에서는 기본적으로 int() 라는 함수를 지원한다. int(string, base) 위와 같은 형식으로 사용하면 된다. base에는 진법을 넣으면 된다. print(int('111',2)) print(int('222',3)) print(int('333',4)) print(int('444',5)) print(int('555',6)) print(int('FFF',16)) ----------------------- 7 26 63 124 215 4095 이렇게 10진수로 쉽게 변경이 가능하다. 10진법 → 2, 8, 16진법 2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다. * 결과는 모두 string .. 2023. 2. 21.
[Python] 몫과 나머지 , divmod() 많은 언어에서 몫과 나머지를 구할때, /와 %를 사용하여 구한다. 파이썬에서는 divmod를 사용하여 몫과 나머지를 한번에 구할 수 있다. 3나누기15 의 몫과 나머지 / (나누기), %(나머지) a = 3 b = 5 print(a/b) print(a%b) ------------------- 0.2 3 몫과 나머지를 연산기호를 사용하여 구하였다. 나누기 연산의 결과가 0.2로 나누어 떨어지는 결과를 반환한다. a = 7 b = 15 print(a/b) print(a%b) -------------------- 0.4666666666666667 7 나누어떨어지지 않는 수는 반올림된다. divmod a = 3 b = 15 print(divmod(a,b)) -------------------------- (0,.. 2023. 2. 21.
[Python] 문자열을 날짜, 시간으로 변환하는 방법 (string to date, string to time) - strptime() Python 에서 strptime() 을 사용하시면 문자열을 날짜, 시간으로 변경할 수 있다. 더 자세한 정보는 공식문서를 확인하자.https://docs.python.org/ko/3/library/datetime.html?highlight=strptime# datetime — Basic date and time typesSource code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...docs.python.org .. 2023. 2. 3.
[Python] 날짜, 시간을 문자열로 변환하는 방법 (date to string, time to string) - strftime 개발을 하다보면 원하는 포맷으로 데이터를 출력하고 싶을 때가 있다. 가령 게시글작성일이나, 해외시간을 현지시간으로 바꾼다거나 등 다양하게 활용이 가능하다. https://docs.python.org/ko/3/library/datetime.html datetime — Basic date and time typesSource code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...docs.python.org더 정확한 정보는.. 2023. 2. 3.
[SWEA / PYTHON] 1954. 달팽이 숫자 [D2] 달팽이 숫자 - 1954 문제 링크 성능 요약 메모리: 43,252 KB, 시간: 95 ms, 코드길이: 792 Bytes 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do 문제를 보고 어떻게 풀어야하겠다는 알았지만 코드로 작성하려니 턱 막혔다.. 너무풀고싶었어 그려보면서 이해하는 수 밖에.. 방향은 우 - 하 - 좌 - 상 인것을 알 수가 있다. 한칸씩 움직일 때 마다 cnt에 1을 더하면서 방향을 옮겨주었다. 한방향으로 갈 수 있는 조건은 범위 이내거나 arr의 값이 0이여야한다. 아니라면 방향바꾸기 즉, 방향을 바꾸기 위한 조건을 추가해줬다. > 최종코드 t = int(input()) # 우.. 2023. 1. 4.
728x90
반응형
LIST