본문 바로가기

Python29

(파이썬 다시 보기)파이썬, python: 7. 표준 라이브러리 목차 1. datetime import datetime # 현재 시간 datetime.datetime.now() # 날짜 계산 day1 = datetime.date(2023, 5, 4) day2 = datetime.date(2023, 5, 3) diff = day1 - day2 diff.days >>> 1 # 요일 구하기 day1.weekday() # 0: 월요일 ~ 6: 일요일 day1.isoweekday() # 1: 월요일 ~ 7: 일요일 # 우리 나라 기준으로 시간 확인 import pytz seoul = pytz.timezone('Asia/Seoul') today_time_korea = datetime.datetime.now(seoul) today_time_korea.year # month / d.. 2023. 5. 10.
(파이썬 다시 보기)파이썬, python: 6. 알고리즘 목차 1. 알고리즘 복잡도 1-1. Big O (빅-오) 표기법: O(N) - 가장 많이/일반적으로 사용하는 방법으로 알고리즘 최악의 실행 시간을 표기한다. 2. 정렬 - 버블 정렬: 두 인접한 데이터를 비교해서, 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘 - 삽입정렬: 두 번째 인덱스부터 시작하여 해당 인덱스(key 값) 앞에 있는 데이터(B)부터 비교해서 key 값이 더 작으면, B값을 뒤 인덱스로 복사하고 이를 key 값이 더 큰 데이터를 만날때까지 반복, 그리고 큰 데이터를 만난 위치 바로 뒤에 key 값을 이동 - 선택 정렬: 먼저 주어진 데이터 중, 최소값을 찾고 해당 최소값을 데이터 맨 앞에 위치한 값과 교체한 후 맨 앞의 위치를 뺀 나머지 데이터를 동일한 .. 2023. 5. 9.
(문제 풀이)파이썬, python: 자료구조 목차 1. 배열 문제 1: 2차원 배열에서 모든 원소의 합 구하기 my_array = [[1, 2, 3], [4, 5, 6],[7, 8, 9]] def solve(array): total_sum = 0 for i in range(len(array)): for j in range(len(array[i])): total_sum += array[i][j] return total_sum solve(my_array) >>> 45 문제 2: 각 행의 합 구하기 given_array1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] given_array2 = [[1, 2],[3, 4],[5, 6],[7, 8],[9, 10]] def solve1(given_array): result_list = [] .. 2023. 5. 8.
(파이썬 다시 보기)파이썬, python: 5. 자료구조 목차 1. 배열(Array): 리스트 타입 - 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 - 장점: 시작 위치만 알면 Index를 통하여 접근 가능 (메모리의 효율적인 사용) - 단점: 데이터를 삽입, 삭제할 경우, 기존 데이터들의 위치까지 변경해야 할 수 있음 # 2차원 배열 my_array = [[1, 2, 3], [4, 5, 6],[7, 8, 9]] my_array[0][1] # 정수형 반환 >>> 2 my_array = ['123', '456', '789'] my_array[0][1] # 문자열 반환 >>> '2' 1-1. 예제 1: 2차원 배열에서 모든 요소에 1을 더하기 my_array = [[1, 2, 3], [4, 5, 6],[7, 8, 9]] for i in .. 2023. 5. 8.
(도전)파이썬, python: 서울 자전거 데이터 분석을 판다스 없이 해보기 목차 과제: 월별 자전거 대여량 평균 구하기 * data: SeoulBikeData.csv 출처: https://archive.ics.uci.edu/ml/datasets/Seoul+Bike+Sharing+Demand UCI Machine Learning Repository: Seoul Bike Sharing Demand Data Set Seoul Bike Sharing Demand Data Set Download: Data Folder, Data Set Description Abstract: The dataset contains count of public bikes rented at each hour in Seoul Bike haring System with the corresponding Weathe.. 2023. 5. 5.
(도전)파이썬, python: 카페에서 음료 주문 받기 문제) 카페에서 음료 주문 받기 - A카페는 아메리카노, 카페라떼, 밀크티 메뉴가 있고 가격은 각각 1500, 2000, 3000 원임 - 사용자가 "종료"라는 말을 입력하기 전까지 계속 주문을 받음 - 3개의 종류 외의 음료를 입력 시 "해당 음료는 판매하지 않습니다." 안내 제공 후 계속 주문 받음 - 음료명을 제대로 입력한 경우, 해당 음료 주문한 수가 1개 증가함 - output은 사용자의 입력에 따라, 각 음료별 주문한 개수와 총 가격 출력 Output 예시) 주문 내역 아메리카노: 3잔 카페라떼: 0잔 밀크티: 1잔 총 가격: 7500원 아이디어 1) menu_list와 price_list, cnt_list를 생성하여 해당 주문의 인덱스 값으로 cnt를 증가시킨 후 zip 함수를 사용해 3개의.. 2023. 5. 5.
(도전)파이썬, python: 랜덤 숫자 맞추기 문제) 랜덤 숫자 맞추기 - while문으로 사용자에게 입력을 받는다 - 사용자가 입력한 값(user_value) answer 이면 더 작은 값을 입력해주세요 - 사용자가 입력한 값(user_value) == answer 이면 정답입니다. 종료. 아이디어) - random.randint를 사용하여 1부터 100 사이의 정수를 받는다. - while True 문을 사용하여 정답을 맞추면 반복문이 종료되게 한다. 나의 풀이 import random answer = random.randint(1, 100) while True: user_value = int(input("숫자를 입력하세요 (1부터 100 사이)")).. 2023. 5. 4.
(파이썬 다시 보기)파이썬, python: 4. 클래스, 제너레이터와 이너레이터, 예외처리 목차 1. 클래스 1-1. 클래스 생성 - __init__: 매서드 생성자 # 학생 정보 관리 시스템 class Student: # class 이름은 앞에 대문자로 사용 def __init__(self,name,id,major): self.name = name # 개체 변수를 의미함 (self.변수명) self.id = id self.major = major self.grades = [] def add_grade(self, grade): self.grades.append(grade) def average_grade(self): if not self.grades: return 0 else: return sum(self.grades) / len(self.grades) student_1 = Student('홍.. 2023. 5. 4.