A ship in harbor is safe, but that is not what ships are built for.

파이썬 17

내일배움캠프 AI, 18일차 TIL - 2022.09.23

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.23. 18일차 - TIL 1. Django 기초 강의 장고가 동작하는 순서 User -> URL Conf -> View -> Model(ORM) -> DB -> Model(ORM) -> View -> Template -> User 프로젝트의 기능을 고려해 '사용자'와 '글'에 관한 앱 생성 $ django-admin startapp user $ django-admin startapp tweet ## user앱 : 사용자 관리(회원가입, 로그인, 로그아웃)을 담당 ## tweet앱 : 글 관리(글쓰기, 삭제, 수정, 댓글)을 담당 settings.py 수정 : Django가 서버를 실행하면서 알아야 할 정보들을 적는다 -> 생성된 ..

내일배움캠프 AI, 17일차 TIL - 2022.09.22

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.22. 17일차 - TIL 1. Django 기초 강의 웹 용어 정리 - 클라이언트 : 요청을 보내는 곳 -> '나', '내 컴퓨터', '내 브라우저' - 서버 : 요청을 받아 응답을 해주는 곳 - API : 데이터를 주고 받는 방법을 정한 약속 웹 동작 구조 - 클라이언트가 서버에게 필요한 정보 요청(Request), 서버는 요청이 들어온 API 확인 후 그에 맞는 HTML or Data를 응답(Response) - 페이지만 받는 경우 : html, css, javascript 가 적절히 섞인 페이지를 받는 경우 - 데이터만 받는 경우 : 페이지는 필요없이 '데이터'만 받는 경우 ex) DB에서 자료 받아오기... 파이썬 딕셔너리..

내일배움캠프 AI, 16일차 TIL - 2022.09.21

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.21. 16일차 - TIL 1. 알고리즘, 자료구조 강의 3주차 과제 (1) - 문제 : 상품의 가격을 담은 배열과 쿠폰을 담은 배열이 주어질 때, 최대한 할인을 많이 받았을 때의 가격을 구하라(단, 쿠폰은 한 제품에 한 번씩만 적용 가능) - 풀이 : 가장 비싼 금액이 가장 많이 할인을 받게 한다. def get_max_discounted_price(prices, coupons): prices.sort(reverse=True) # 가격 배열을 내림차순 정렬 coupons.sort(reverse=True) # 쿠폰 배열을 내림차순 정렬 prices_index = 0 # 각각의 배열에 접근하기 위한 인덱스 지표 coupons_inde..

내일배움캠프 AI, 15일차 TIL - 2022.09.20

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.20. 15일차 - TIL 1. 알고리즘, 자료구조 강의 병합정렬(Merge sort) : 배열의 앞부분과 뒷부분의 두 그룹으로 나누어 각각 정렬한 후 병합하는 작업 반복 - merge 부분 : 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장한다. 어느 한 배열의 원소가 없어질 때까지 반복하다 나머지 이어붙인다. # 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장 -> 어느 한 배열의 원소가 없을 때까지 반복하다 나머지 이어붙임 def merge(array1, array2): array_result = [] array1_index = 0 array2_in..

내일배움캠프 AI, 14일차 TIL - 2022.09.19

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.19. 14일차 - TIL 1. 알고리즘, 자료구조 강의 Array : 크기가 정해진 연속된 데이터 공간, 데이터 접근이 빠르며(O(1)) 데이터 추가 시 모든 공간이 다 찼다면 새로운 공간을 할당하고, 중간에 요소 삽입/삭제가 어렵다(O(n)) -> 모든 요소를 이동시켜야 한다 Linked List: 크기가 정해지지 않은 데이터 공간, 삽입과 삭제가 빈번한 문제에 사용하기 좋으며 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가 가능하다. 특정 데이터 조회에 O(n)의 시간이 필요하다. 파이썬의 list는 내부적으로 동적 배열을 사용해 배열, 링크드 리스트 모두로 사용 가능 linked list 구현 # 노드 클래스 정의 cl..

내일배움캠프 AI - 12일차 TIL, 2022.09.15

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.15. 12일차 - TIL 1. 파이썬 특강 인자에 기본값 지정 # 함수를 선언할 때 인자에 기본값을 지정해줄 수 있습니다. EXPRESSION = { 0: lambda x, y: x + y , 1: lambda x, y: x - y , 2: lambda x, y: x * y , 3: lambda x, y: x / y } def calc(num1, num2, option=None): # 인자로 option이 들어오지 않는 경우 기본값 할당 """ option - 0: 더하기 - 1: 빼기 - 2: 곱하기 - 3: 나누기 """ return EXPRESSION[option](num1, num2) if option in EXPRESSI..

내일배움캠프 AI - 11일차 TIL, 2022.09.14

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.14. 11일차 - TIL 1. 파이썬 특강 try - exception 을 통한 에러처리 number = "num" try: # try 구문 안에서 에러 발생할 경우 except로 넘어감 number = int(number) # 문자열을 정수형 변환해 에러 발생 except: # 에러가 발생했을 때 처리 print(f"{number}은(는) 숫자가 아닙니다.") ################################################################# number = input() try: int(number) 10 / number except ValueError: # int로 변환하는 과정에서 에러가 ..

내일배움캠프 AI - 10일차 TIL, 2022.09.13

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.13. 10일차 - TIL 1. Git 특강 vi/vim 편집기 - a와 i를 입력해 INSERT로 내용 삽입 가능 - 입력 종료 후 ESC + :wq로 저장하고, vi/vim 창을 닫음 버전 만들기(☆★별표 다섯개) 로컬 저장소 만들기 $ git init 스테이지에 추가하기 $ git add 현재 작업 디렉터리의 변경 사항을 모두 스테이지에 추가하기 $ git add . 커밋하기(메세지 헤더만 작성) $ git commit -m "커밋 메세지 헤더" 자세한 커밋 메세지로 커밋하기 $ git commit 스테이지에 추가와 커밋 동시에 하기 $ git commit -am "커밋 메세지 헤더" 버전 조회하기 현재 커밋들의 목록 조회하기..

내일배움캠프 AI - 8일차 TIL, 2022.09.07

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.07. 8일차 - TIL 1. 파이썬 특강 randrange(n, m) : n 이상 m 미만의 난수 생성 randint(n, m) : n 이상 m 이하의 난수 생성 datetime.now() : 현재 날짜 및 시간 출력 from datetime imort datetime, timedelta ''' %y : 두 자리 연도 / 20, 21, 22 %Y : 네 자리 연도 / 2020, 2021, 2022 %m : 두 자리 월 / 01, 02 ... 11 ,12 %d : 두 자리 일 / 01, 02 ... 30, 31 %I : 12시간제 시간 / 01, 02 ... 12 %H : 24시간제의 시간 / 00, 01 ... 23 %M : 두 ..

내일배움캠프 AI - 7일차 TIL, 2022.09.06

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.06. 7일차 - TIL 1. 파이썬 특강 사칙연산 : 더하기(+), 빼기(-), 곱하기(*), 제곱(**), 나누기(/, 연산결과 항상 float), 몫(//), 나머지(%) 연산축약 num += 3 # num = num + 3 num -= 3 # num = num - 3 num *= 3 # num = num * 3 num **= 3 # num = num ** 3 num /= 3 # num = num / 3 num //= 3 # num = num // 3 num %= 3 # num = num % 3 문자열에서 + 는 문자열 합치기, * 는 문자열 반복 fstring n1 = 5 n2 = 10 # 같은 결과 print("n1 : %..