챗GPT로 휴일 판단하는 로직 구현

나이트 개발자·2023년 5월 24일
0

ChatGPT와 놀아보자

목록 보기
4/4
post-thumbnail

이제는 어느 누구나 간단한 로직은 ChatGPT를 이용해서 코딩하고 있을 거라 생각된다.
한동안 코딩을 못하다가 다시 급히 해야할 일이 있어 로직하나 챗집사에게 맡겨봤다.

프롬프트
내일이 휴일인지 오늘이 휴일인지를 확인해주는 python script를 만들어줘.
알고싶은 날짜가 토요일과 일요일은 자동으로 휴일로 판단하면 되고 그 외의 휴일은 Tab으로 구분된 휴일날짜휴일이름 형태로 저장된 holidays.tsv 파일을 읽어서 판단에 사용해. 이때 휴일날짜의 포맷은 %Y%m%d로하자. 2023년 및 2024년 대한민국 공휴일을 이 tsv파일에 저장하게 저 형태로 된 데이터를 코드와 함께 별도의 코드 블럭에 보여줘.

from datetime import datetime, timedelta

def load_holidays(file_path):
    holidays = {}
    with open(file_path, 'r') as f:
        lines = f.readlines()
        for line in lines:
            date, name = line.strip().split('\t')
            holidays[date] = name
    return holidays

def check_holiday(date, holidays):
    date_str = date.strftime('%Y%m%d')
    if date_str in holidays:
        return True, holidays[date_str]
    return False, None

def main():
    holidays = load_holidays('holidays.tsv')
    
    today = datetime.now()
    tomorrow = today + timedelta(days=1)

    is_today_holiday, today_holiday_name = check_holiday(today, holidays)
    is_tomorrow_holiday, tomorrow_holiday_name = check_holiday(tomorrow, holidays)

    if is_today_holiday:
        print(f'Today ({today.strftime("%Y-%m-%d")}) is a holiday: {today_holiday_name}')
    else:
        print(f'Today ({today.strftime("%Y-%m-%d")}) is not a holiday.')

    if is_tomorrow_holiday:
        print(f'Tomorrow ({tomorrow.strftime("%Y-%m-%d")}) is a holiday: {tomorrow_holiday_name}')
    else:
        print(f'Tomorrow ({tomorrow.strftime("%Y-%m-%d")}) is not a holiday.')

if __name__ == '__main__':
    main()
# 2023년
20230101	신정
20230121	설날
20230122	설날
20230123	설날
20230124	설날
20230301	삼일절
20230505	어린이날
20230527	부처님 오신 날
20230606	현충일
20230815	광복절
20230928	추석
20230929	추석
20230930	추석
20231003	개천절
20231009	한글날
20231225	크리스마스
# 2024년
20240101	신정
20240209	설날
20240210	설날
20240211	설날
20240301	삼일절
20240505	어린이날
20240515	부처님 오신 날
20240606	현충일
20240815	광복절
20240916	추석
20240917	추석
20240918	추석
20241003	개천절
20241009	한글날
20241225	크리스마스
profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글